STL学习篇:vector的简单使用
vector,一个动态数组!在堆中操作,元素连续存放,可以直接访问其中的任何元素,初始分配有内存,当保留内存不够的时候,会再分配内存!
下面看一个vector的构造函数例子:
1 #include <iostream> 2 #include<vector> 3 #include<string> 4 5 int main() 6 { 7 using namespace std; 8 9 //类模板,模板参数 10 vector<int> ivec;//保存int数据类型的vector 11 vector<double> dvec; 12 vector<string> svec; 13 14 vector<int> a;//a是一个空的容器 15 vector<int> b(5, 4);//b是一个容器,里面有5个4 16 17 a.push_back(1); 18 a.push_back(2); 19 a.push_back(3); 20 21 b.push_back(10); 22 b.push_back(11); 23 24 cout << a.size() << endl; 25 cout << b.size() << endl; 26 27 //不用int类型的循环变量 28 //for(int i 29 for(vector<int>::size_type i = 0; i != a.size();++i) 30 {//size_type是容器概念,没有容器不能使用。 31 cout << a[i] << endl; 32 } 33 34 for(vector<int>::size_type i = 0; i != b.size(); ++i) 35 { 36 cout << b[i] << endl; 37 } 38 //vector<int>::iterator airt; 39 return 0; 40 }
下面看一个vector输入输出例子:
#include<vector> #include<iostream> #include<string> using namespace std; int main() { vector<int> ivec;//空,没有数据 cout << ivec.size() << endl; cout << "请输入五个数" << endl; int k; for (vector<int>::size_type ix = 0; ix != 5; ++ix) { //cin << ivec[ix];//初始如果没有下标,不可以这样操作 cin >> k; ivec.push_back(k); } cout << "显示数据是:" << endl; for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix) { cout << ivec[ix] << "\t"; } cout << "请输入字符串" << endl; string word; vector<string> text; while (cin >> word) { text.push_back(word); } for (vector<int>::size_type i = 0; i != text.size(); ++i) { cout << text[i] << endl; } return 0; }
这就是vector的一些常用操作!
(*^__^*) 嘻嘻……3W,My life,My way,My style!!!