• c++容器 STL



    2019-01-24 22:30:32 


    记录学习PAT的一些知识,有待更新

    注:本文是对Algorithm 算法笔记 的总结


    C++标准库模板(Standard Template Library,STL)

    【vector】

    1.单独定义一个vector       vector<typename> name;

    • vector<int> name;
    • vector<double> name;
    • vector<char> name;

    2.定义vector数组

    • vector<typename> Arrayname[arraySize]
    • 例如 vector<int> vi[100];

    3.vector 容器内元素访问

    1. 通过下标访问

    定义一个为 vector<typename> vi; 可以直接访问如:vi[0]、vi[1]

      2.通过迭代器访问

      vector<typename>::iterator it;   这样 it 就是一个vector<typename>::iterator 型的变量;

    指出的是vi[i]和*(vi.begin()+i)是等价的;(类似于指针)

     

    #include <cstdio>
    #include <vector>
    #include<iostream>
    using namespace std;
    
    int main(){
        vector<int> vi;
        for(int i=1;i<=5;i++){
            vi.push_back(i);
            
        }
        vector<int>::iterator it =vi.begin();
        for(int i=0;i<5;i++){
            printf("%d",*(it+i));
        }
    return 0; 
    }

     

     

     

    4.vector常用函数解析

    (1)push_back();

    (2)pop_back()

    ()size()

    ()clear()

    (5)insert()

    (6)erase()

    5.vector 的常见用途

    (1)存储数据

    (2)用连接表存储图




    【set】

    1.set的定义:set<typename> name;

    • set<int> name;
    • set<double> name;
    • set<char> name;
    • set数组的定义: set<typename> Arrayname[arraySize-1]  如:set<int>  a[100];

    2.set容器内元素的访问

    • set<typename>::iterator it;   这样 it 就是一个set<typename>::iterator 型的变量;

    3.set常用函数

    1. insert()
    2. find()
    3. erase()
    4. size()
    5. clear()

    4.set的常见用途

    set最主要的作用是自动去重并按升序排序


    【map】

    1.map的定义:map<typename1,typename2> mp;

    比如:map<string,int> mp;     第一个 typename1 是键的类型,第二个  typename2 是值的类型   注意如果是字符串到整型的映射必须使用string

    2.map容器内元素的访问

    (1)通过下标,如: mp['c'];

     (2)通过迭代器,如:map<typename1,typename2>::iterator it;

    #include<stdio.h>
    #include<map>
    using namespace std;
    int main(){
     map<char,int> mp;
     mp['m']=20;
     mp['r']=40;
     mp['s']=54;
     for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++){
      print("%c %d
    ",it->first,it->second); 
      }
     return 0;
    
    }

    3.map常用函数

    1. find()
    2. erase()
    3. size()
    4. clear()

    4.map的常见用途

    1. 需要建立字符与整数之间的映射
    2. 判断大整数或者其他类型的数据是否存在的题目,把map当bool数组使用


    【queue】

    1.queue的定义:queue<typename> name;

    2.queue容器内元素的访问

    先进先出的结构,所以只能用front() 访问队首元素,或是通过 back() 访问队尾元素

    3.queue常用函数

    1. push()
    2. front(),back()
    3. pop()
    4. empty()
    5. size()

    4.queue 的常见用途


  • 相关阅读:
    nginx负载均衡实现
    shiro 退出 清除缓存
    从零到实现Shiro中Authorization和Authentication的缓存
    Mysql 语句
    N! java
    大数java(pow)
    HDU_1548
    Mike and strings 798B
    Array Division 808D
    poj_1979(dfs)
  • 原文地址:https://www.cnblogs.com/250101249-sxy/p/10317448.html
Copyright © 2020-2023  润新知