STL vector 一些常用的操作总结 以及 程序运行对应的结果

来源:互联网 发布:三星note8双卡网络 编辑:程序博客网 时间:2024/06/06 06:32
#include<iostream>#include<algorithm>#include<vector>using namespace std;//vector 常用的一些操作// a.push_back(x); 在尾部加入元素x// a.pop_back(); 删除尾部元素// a.size(); 求元素个数// a.insert(a.begin() + i, x); 在相应的位置插入元素x a.begin()对应的是地址// a.insert(a.end() + i, x); 在相应的位置插入元素 x a.end()对应的是地址// a.erase(a.begin() + i); 删除相应位置的元素// a.erase(a.end() + i); 删除相应位置的元素// a.resize(h); 改变空间大小为h// a.clear(); 初始化 vector//下面代码是一些操作对应的结果,运行出来的数据,对应了解有些什么功能int main(){    vector<int> a;    int i, len;    for(i = 1; i <= 5; i++)    a.push_back(i);//在尾部添加元素    cout << a.size() << endl << endl;//求大小    a.pop_back();//删除尾部元素    cout << a.size() << endl;//求大小    for(i = 0; i < 5; i++)    cout << a[i];    cout << endl << endl;    cout << *(a.begin() + 8) << endl;//指针对应地址的元素值    cout << *a.begin() + 8 << endl << endl;//首地址元素的值 + 相应的值    a.insert(a.end() - 3, 9);//从后往前数的第三个数前面插入    a.insert(a.begin() + 3, 8);//从前往后数第三个元素后面插入    for(i = 0; i < a.size(); i++)    cout << a[i];    cout << endl << endl;    a.erase(a.end() - 3);//删除从后往前数第三个数的后面一个数    a.erase(a.begin() + 3);//删除从前往后数第三个数的后面一个数    for(i = 0; i < a.size(); i++)    cout << a[i];    cout << endl << endl;    a.resize(1);//清除所有元素    cout << a.size() << endl;    for(i = 0; i < 5; i++)    cout << a[i];    cout << endl << endl;    a.resize(5);//多开设的空间里的元素,会初始化为0    cout << a.size() << endl;    for(i = 0; i < 5; i++)    cout << a[i];    cout << endl << endl;    a.clear();    cout << a.size() << endl;    return 0;}
0 0