Vector类的使用:
以下测试常见的vector调用:
(1)vector<typename>vec;//创建一个名字为vec的vector数组,其中typename为数组的类型,可以是int,char等
(2)vec.push_back(a);//其中vec是上条代码中创建的vector数组名
作用是在已有的vec数组后面添加a,如果是vec是整数,相应地,a也应该是整数;如果是vec是char类型,相应地,a也应该是char表示
(3)vec.clear;//这个作用是清空vector数组,内存将清空,内容也将被抹去;
(4)vec.size;//这个很简单,输出vec数组的尺寸;
(5)vec.begin();//返回迭代器类型,具体是啥暂时还没搞懂;
(6) vec.end();//同上;
(7)vec..insert(vec.begin()+i,a);插入元素,在第i个元素后面插入a;
(8)vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始,删除元素
演示代码如下:
vector<int> str;
vector<char> str1;
int i;
for (i = 0; i < 10;i++)
{
str.push_back(i);
}
for (i = 0; i < 10; i++)
{
cout << str[i] << endl;
}
cout << str.size() << endl;
str.clear();//vector申请的内存空间也全部释放
cout << str.size() << endl; //内存空间为0;
str1.push_back('a');//char类型只能输入字符;
cout << str1[0] << endl;
string str2="hahahaha";
str2.push_back('h');//类型只能输入字符;
cout << str2 << endl;
cout << str2.size() << endl;
str2.clear();
cout << str2.size() << endl;
注意,以上函数几乎均适用于string类,可以调用,只是插入还是删除都只能是字符,不是字符串。
string str2="xiaochouzhu";
cout << str2.size() << endl;
str2.insert(str2.begin() + 4,'f');
str2.insert(str2.begin() + 5, 'e');
str2.insert(str2.begin() + 6, 'n');
cout << str2 << endl;
同时也可以注意到,string类可以直接调用cout进行输出,而vector只能遍历输出。