您的位置:首页 > 编程语言 > C语言/C++

Java程序员学习C++之Vector

2015-07-17 16:37 405 查看
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef vector<int> MyVector;

int main()
{
//std::vector<int> c;
MyVector c;
c.reserve(40);//初始预留一定的空间,减少分配新空间->复制->删除旧空间的效率消耗
//MyVector c(40,1);//预留一定的空间,并且赋初始值

c.capacity();//容量

for (int i = 0; i < 10;i++)
{
c.push_back(i);
}
/* c.size()返回无符号的int,会提示类型不匹配(“<”: 有符号/无符号不匹配)
for (int i = 0; i < c.size();i++)
{
cout << "c[" << i << "]=" << c[i] << endl;
}
*/

for (MyVector::size_type i = 0; i < c.size(); i++)
{
cout << "c[" << i << "]=" << c[i] << endl;
}

cout << "========================"<< endl;

//迭代器的方式
for (MyVector::iterator itr = c.begin(); itr != c.end();++itr)
{
//distance计算两者偏移
cout << "c[" << distance(c.begin(),itr) << "]=" << *itr << endl;
}

//乱序
random_shuffle(c.begin(), c.end());
for (MyVector::size_type i = 0; i < c.size(); i++)
{
cout << c[i]<<" ";
}
cout << endl;

random_shuffle(c.begin()+3, c.end());

for (MyVector::size_type i = 0; i < c.size(); i++)
{
cout << c[i] << " ";
}
cout << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: