STL之vector
-
vector的构造:


#include<iostream> using namespace std; #include<vector> void printfvector(vector<int>& v) { for (vector<int>::iterator it = v.begin(); it !=v.end(); it++) { cout << *it <<" " ; } cout << endl; } int main(void) { vector<int> v1;//默认构造 无参构造 for (int i = 0; i < 10; i++) { v1.push_back(i); } printfvector(v1); //通过区间构造函数 vector<int>v2(v1.begin(), v1.end()); printfvector(v2); //用n个elem来构造函数 vector<int>v3(10, 100); printfvector(v3); //拷贝构造 vector<int>v4(v3); printfvector(v4); }
-
vector的赋值:
#include<iostream> using namespace std; #include<vector> void printfvector(vector<int>& v) { for (vector<int>::iterator it = v.begin(); it !=v.end(); it++) { cout << *it <<" " ; } cout << endl; } int main(void) { vector<int> v1;//默认构造 无参构造 for (int i = 0; i < 10; i++) { v1.push_back(i); } printfvector(v1); //赋值操作 operator = vector<int>v2; v2 = v1; printfvector(v2); //assign的方式 vector<int>v3; v3.assign(v1.begin(), v1.end()); printfvector(v3); //n个elem的方式 vector<int>v4; v4.assign(10, 100); printfvector(v4); }
- vector的容量和大小
#include<iostream> using namespace std; #include<vector> void printvector(vector<int>v) { for (vector<int>::iterator i = v.begin(); i < v.end(); i++) { cout << *i << " "; } cout << endl; } int main(void) { vector<int>v1; for (int i = 0; i < 10; i++) { v1.push_back(i); } printvector(v1); if (v1.empty())//是否为空 cout << "v1是空的" << endl; else { cout << "v1不是空的" << endl; cout << "v1的容量是" << v1.capacity() << endl; cout << "v1的大小是" << v1.size() << endl; } //resize重新指定大小,若指定的更大,默认用0填充新位置,可以用重载版本替换默认填充 v1.resize(15,100); printvector(v1); v1.resize(5);//若指定更小的,超出部分元素会被删除 printvector(v1); }
- vector的插入、删除

#include<iostream> using namespace std; #include<vector> void printvector(vector<int>v) { for (vector<int>::iterator i = v.begin(); i < v.end(); i++) { cout << *i << " "; } cout << endl; } int main(void) { vector<int>v1; for (int i = 0; i < 10; i++) { v1.push_back(i); } printvector(v1); //尾插法 v1.push_back(20); printvector(v1); //尾删法 v1.pop_back(); //插入方法 v1.insert(v1.begin(), 1); printvector(v1); v1.insert(v1.begin(), 2, 100); printvector(v1); //删除方法 v1.erase(v1.begin()); printvector(v1); //v1.erase(v1.begin(), v1.end()); //在[ )区间,相当于清空 //另一个清空函数 v1.clear(); printvector(v1); }
- vector的数据存取
#include<iostream> using namespace std; #include<vector> void printvector(vector<int>v) { for (vector<int>::iterator i = v.begin(); i < v.end(); i++) { cout << *i << " "; } cout << endl; } int main(void) { vector<int>v1; for (int i = 0; i < 10; i++) { v1.push_back(i); } //数据存取 //1.利用[]来访问 for (int i = 0; i < v1.size(); i++) { cout << v1[i] << " "; } cout << endl; //2.利用at来访问 for (int j = 0; j < v1.size(); j++) { cout << v1.at(j) << " "; } cout << endl; //访问第一个数据 cout << "第一个数据是:" << v1.front() << endl; //访问最后一个数据 cout << "最后一个数据是:" << v1.back() << endl; }
- vector的交换
#include<iostream> using namespace std; #include<vector> void printvector(vector<int>&v) { for (vector<int>::iterator i = v.begin(); i < v.end(); i++) { cout << *i << " "; } cout << endl; } int main(void) { vector<int>v1; for (int i = 0; i < 10; i++) { v1.push_back(i); } vector<int>v2; for (int i = 10; i>0; i--) { v2.push_back(i); } printvector(v1); printvector(v2); //交换两个容器 v1.swap(v2); printvector(v1); printvector(v2); }
计算机小白记录学习过程,喜欢就点个推荐和关注吧O(∩_∩)O哈哈~

浙公网安备 33010602011771号