#include <iostream>
#include <vector>
#include <algorithm> //sort() //
using namespace std;
int main()
{
printf("/* --------【1】创建vector ----------- */\n");
vector<int> obj;
for (int i = 0; i < 6; i++)
{
obj.push_back(i);
cout << obj[i] << endl;
}
printf("\n\n");
printf("/* --------【2】删除最后的那个 ----------- */\n");
obj.pop_back();
for (int i = 0; i<obj.size(); i++)
cout << obj.at(i) << endl;
printf("/* --------【3】清除vector中的所有数据 ----------- */\n");
obj.clear();
cout << "__LINE__" << __LINE__ << " " << obj.size() << endl; //size为0 //
for (int i = 0; i<obj.size(); i++)
{
cout << obj[i] << endl;
}
printf("/* --------【4】排序 ----------- */\n");
vector<int> v1;
for (int i = 0; i < 11; i++)
{
v1.push_back(rand());
cout << v1[i] << endl;
}
printf("\n\n");
sort(v1.begin(), v1.end()); // 只升序 //
for (int i = 0; i < v1.size(); i++)
printf("%d %d\n", v1[i], v1.at(i)); // 两种取值方式,数组下标方式a[i], .at(i)方式 //
printf("\n\n");
reverse(v1.begin(), v1.end());
for (int i = 0; i < v1.size(); i++)
printf("%d %d\n", v1[i], v1.at(i));
printf("/* --------【5】迭代器取值 vector<int>::iterator ----------- */\n");
vector<int>::iterator itr;
for (itr = v1.begin(); itr != v1.end(); itr++)
cout << *itr << endl;
printf("/* --------【6】二维数组定义方法(两种) ----------- */\n");
vector<vector<int> > v2(2, vector<int>(4)); // 2行4列数组 //
for (int j = 0; j < 2; j++)
for (int i = 0; i < 4; i++)
{
v2[j][i] = rand();
cout << v2[j][i] << endl;
}
cout << "v2.size()=" << v2.size() << endl;
printf("/* --------【7】多种初始化 ----------- */\n");
vector <int> va(4); // 4个元素 //
for (int i = 0; i < va.size(); i++)
cout << va[i] << endl;
vector <int> vb(6, 11); // 6个元素都为11 //
vector <int>::iterator itr0;
for (itr0 = vb.begin(); itr0 != vb.end(); itr0++)
cout << *itr0 << endl;
int a[] = { 6,3,8,25,31,32,35,40 }; //通过数组地址初始化 //
vector<int> vd(a+2,a+6); //数组地址的某一位到另一位置 //
for (int i = 0; i < vd.size(); i++)
cout << vd[i] << endl;
vector<int> ve(vb);
for (int i = 0; i < ve.size(); i++)
cout << ve[i] << endl;
ve.at(4) = 23335; // 修改元素 或ve[4] = 23335; //
for (int i = 0; i < ve.size(); i++)
cout << ve[i] << endl;
printf("/* --------【8】pointf类型vector ----------- */\n");
/* --------【】 ----------- */
getchar();
return 0;
}