vector容器的使用(笔记)

    科技2022-08-31  108

    vector的使用

    向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。

    源代码如下:

    #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int>obj; //创建一个向量存储空间 //push_back()在容器的最后添加数据 for (int i = 0; i < 10;i++) { obj.push_back(i); cout << obj[i] << " "; } cout << endl; //pop_back依次去掉容器的最后一个数据 for (int i = 0; i < 5;i++) { obj.pop_back(); } for (int i = 0; i < obj.size(); i++) { //obj.size()为容器实际数据的个数 cout << obj[i]<<" "; } cout << endl; //从小到大排序 obj.push_back(6); obj.push_back(9); obj.push_back(8); obj.push_back(7); obj.push_back(5); sort(obj.begin(),obj.end()); cout << "从小到大进行排序:" << endl; for (int i = 0; i < obj.size(); i++) { //直接数组访问 cout << obj[i] << " "; } cout << endl; cout << "从大到小进行排序:" << endl; reverse(obj.begin(), obj.end()); for (int i = 0; i < obj.size(); i++) { //直接数组访问 cout << obj[i] << " "; } cout << endl; //利用迭代器进行访问 cout << "使用迭代器进行访问:" << endl; vector <int>::iterator it; //声明一个迭代器 for (it=obj.begin(); it!=obj.end();it++) { cout << *it << " "; } cout << endl; //二维数组的定义方法 //第一种 int N = 5,M = 6; vector<vector<int> >obj1(N); //定义二维动态数组为5行 for (int i = 0; i < obj1.size();i++) { obj1[i].resize(M); //动态二维数组为5行6列,值全为0 } //输出 cout << "输出二维数组的数据" << endl; for (int i = 0; i < obj1.size();i++) { for (int j = 0; j < obj1[i].size(); j++) { cout << obj1[i][j] << " "; } cout << endl; } cout << endl; //第二种 vector<vector<int> >obj2(N, vector<int>(M)); cout << "输出二维数组的数据" << endl; for (int i = 0; i < obj1.size(); i++) { for (int j = 0; j < obj1[i].size(); j++) { cout << obj1[i][j] << " "; } cout << endl; } cout << endl; obj.clear()清空所有的数据 obj.clear(); for (int i = 0; i < obj.size(); i++) { cout << obj[i] << " "; } cout << endl; system("pause"); return 0; }

     

     

    Processed: 0.008, SQL: 9