std::vector的简单实验

来源:互联网 发布:网络高清电视在线直播 编辑:程序博客网 时间:2024/06/06 02:42

std::vector<template class>  就是动态数组。

这里面有很多的方法。

比如:size(),capacity(),resize();reverse();pop_back();swap();

以及遍历操作。







/*实验一
//定义std::vector<class T>变量
std::vector<int> myVec(6);
cout << myVec.capacity() << endl;//数组的容量
cout << myVec.size()<< endl;//数组中元素个数。
cout << "**************************" << endl;
//赋值操作
for (std::vector<int>::size_type i = 0; i != myVec.capacity();i++)
{
myVec[i] = i * 2;
}
//打印操作(一)
for (auto elem : myVec)
{
cout << elem << endl;
}
cout << "**************************" << endl;
//打印操作(二)
for (std::vector<int>::iterator iter = myVec.begin(); iter != myVec.end();++iter)
{
cout << *iter << endl;
}
//打印某一个位置的元素
cout << "**************************" << endl;
cout << myVec.at(0) << endl;
cout << myVec.at(1) << endl;
cout << myVec.at(2) << endl;
cout << myVec.at(3) << endl;
cout << myVec.at(4) << endl;
cout << myVec.at(5) << endl;
//获取第一个,最后一个的值
cout << "**************************" << endl;
cout << myVec.front() << endl;
cout << myVec.back() << endl;
*/


//实验二
 std::vector<int> vec1 = {1,2,3,4,5,6};
 cout << vec1.capacity() << endl;//数组的容量
 cout << vec1.size() << endl;//数组中元素个数。
 std::vector<int> vec2;
 vec2.assign(3, 6); //设置3个6.
 cout << vec2.capacity() << endl;//数组的容量
 cout << vec2.size() << endl;//数组中元素个数。
 cout << vec2[0] << endl;
 cout << vec2.at(1) << endl;
 cout << vec2.at(2) << endl;
 cout << "******************************" << endl;
 vec2.reserve(4); //重新设置容量的同时,不进行赋值操作。
 cout << vec2.capacity() << endl;//数组的容量
 cout << vec2.size() << endl;//数组中元素个数。
 for each (int var in vec2)
 {
  cout << var << endl;
 }
 cout << "******************************" << endl;
 ////cout << vec2.at(3) << endl;
 vec2.resize(5); //它是开辟空间的同时赋值为空
 cout << vec2.capacity() << endl;//数组的容量
 cout << vec2.size() << endl;//数组中元素个数。
 cout << "******************************" << endl;
 for (auto i:vec2)
 {
  cout << i << endl;
 }
 vec2.assign(vec1.begin(), vec1.end()); //这是第二种赋值方式。
 cout << "******************************" << endl;
 for (auto i : vec2)
 {
  cout << i << endl;
 }







0 0