STL-vector常用用法

1.头文件:

#include <vector>
  1. 定义方法:
a)vector<int>v1;//vector元素为 int 型  
b)vector<string>v2;// vector元素为string型  
vector<node>v3;//入队元素为结构体型,结构体可以自行定义

3.常用操作:

push_back()       //在数组的最后添加一个数据
pop_back()        //去掉数组的最后一个数据 
front()           //访问第一个元素
back()            //访问最后一个元素
front()           //返回第一个元素(栈顶元素)
begin()           //得到数组头的指针
end()             //得到数组的最后一个单元+1的指针
clear()           //移除容器中所有数据
empty()           //判断容器是否为空
erase(pos)        //删除pos位置的数据
erase(beg,end)    //删除[beg,end)区间的数据
size()            //回容器中实际数据的个数
c.insert(pos,elem)//在pos位置插入一个elem拷贝

4.举例:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    vector <int> v;                         //定义vector
    vector<int>::iterator it;               //定义一个vector迭代器
    for(int i = 10; i >= 1; i--)            //插入数据
        v.push_back(i);
    cout<<"输出:";
    for(it=v.begin();it!=v.end();it++)      //输出迭代器的值
        cout<<*it<<" ";
    cout<<endl;
    it-=1;
    cout<<"最后一个的值为:"<<*it<<"     "<<endl;
    v.erase(it);//删除最后一个元素
    cout <<"元素个数:" <<v.size() << endl;      //输出元素个数
    sort(v.begin(), v.end());                    //vector排序
    cout<<"排序后:";
    for(it=v.begin();it!=v.end();it++)           //输出vector元素
        cout << *it << " ";
    cout<<endl;
    v.insert(v.begin(),100) ;                     //在pos位置插入一个elem
    cout<<"第一个元素为:" <<v.front()<<endl;     //输出第一个元素
    v.pop_back();//去掉最后一个元素
    cout << "元素个数:" <<v.size() << endl;      //输出元素个数
    v.clear();                                    //vector清空
    cout <<"清空后元素个数:" << v.size() << endl;  //输出元素个数
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39535750/article/details/80115821