C++中的向量学习

#include <iostream>
#include
<vector> //要包含这个头文件
using namespace std;

int main(void)
{

vector
<int> a(10);//定义了10个整数元素的向量,但没有给出初值,因而,其值是不确定滴。
vector<int> b(10,1);//定义了10个证书元素的向量,且给出每个元素的初值为1
vector<int> c(b); //用另一个现成的向量来创建一个向量。
vector<int> d(b.begin(),b.begin() + 2);//定义了其值依次为b向量中第0到第2个元素的向量。

cout
<< " 1--- ";
for (int i=0;i<a.size();i++)
cout
<< a[i] << " "; //使用下标形式,a[i]是向量元素操作,和数组一样

cout
<< '\n';
cout
<< " 2--- ";
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";//使用遍历器方式,*it是指针间接形式,它的意思是it所指向的元素值。
cout << '\n';

cout
<< " 3--- ";
a.assign(b.begin(),b.begin()
+3); //b向量的0~2元素构成向量赋给a
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';

cout
<< " 4--- ";
a.assign(
8,2); //使a向量中只含0-7元素,且赋值给2
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';

cout
<< " 5--- ";
int x = a.back();//将a中最后一个元素值赋给整数变量x
cout << "x = " << x << endl;

cout
<< " 6--- ";
int y = a.front(); //将a中第一个向量元素赋给整数变量y
cout << "y = " << y << endl;

cout
<< " 7--- ";
a.clear();
if (a.empty()) cout << "a is empty!" << endl;

cout
<< " 8--- ";
a.resize(
5); //将向量元素个数调至5个,多删少补,其值随机
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';

cout
<< " 9--- ";
a.resize(
6,4); //将向量元素个数调至5个,多删少补,其值均为4
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';

cout
<< "10--- ";
a.push_back(
100);//在向量a最后插入一个元素,其值为100
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';

cout
<< "11--- ";
a.pop_back();
//删除a向量最后一个元素
for (vector<int>::iterator it = a.begin();it!=a.end();++it)
cout
<< *it << " ";
cout
<< '\n';


cout
<< "12--- ";
if (a==b) //向量的比较操作,操作符还有!=,<,<=,>,>=,
cout << "a equal b";
else
cout
<< "a not equal b";

cin.
get();
return 0;

}
posted @ 2010-08-17 12:06  Delcpp  阅读(5941)  评论(2编辑  收藏  举报