vector的使用详见程序,具有多种实例化的方式,可使用成员函数push_back()在末尾插入元素,可使用pop_back()删除末尾元素,可使用insert()在任意位置插入元素;有三种访问vector中元素的方法;并注意size()和capacity()的区别。
#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;
void displayvector(const vector<int>& vecinput);
int main()
{
//实例化的各种版本
vector<int> vints;
cout << "vints.size()=" << vints.size() << endl;
vector<int> vvints(10);
cout << "vvints.size()=" << vvints.size() << endl;
vvints.pop_back();
cout << "vvints.size()=" << vvints.size() << endl;
vector<int> vvvints(10, 90);
vector<int> vintscopy(vvvints);
cout << "vintscopy.size()=" << vintscopy.size() << endl;
vector<int> vintssomecopy(vvvints.cbegin(), vvvints.cbegin() + 5);
cout << "vintssomecopy.size()=" << vintssomecopy.size() << endl;
vector<int> vintegers = { 1, 32, 4, 3 };
cout << "vintegers.size()=" << vintegers.size() << endl;
vector<int> vvintegers{ 1, 32, 4, 3 };
cout << "vvintegers.size()=" << vvintegers.size() << endl;
//push_back()在末尾插入元素
vintssomecopy.push_back(10);
vintssomecopy.push_back(-10);
cout << "vintssomecopy.size()=" << vintssomecopy.size() << endl;
//insert()在任意位置插入元素
vector<int> vecintegers(4, 90);
displayvector(vecintegers);
vecintegers.insert(vecintegers.begin(), 25);
displayvector(vecintegers);
vecintegers.insert(vecintegers.end(), 2, 45);
displayvector(vecintegers);
vector<int> vecanother(2, 30);
vecintegers.insert(vecintegers.begin() + 1, vecanother.begin(), vecanother.end());
displayvector(vecintegers);
//访问vector中的元素,有三种方法:
//第一种:使用下标运算符[],以数组语法方式访问
//第二种:使用成员函数at();
//第三种:使用迭代器
for (size_t index = 0; index < vecintegers.size(); index++)//使用下标运算符访问vector中的元素
{
cout << vecintegers[index] << ' ';
}
cout << endl;
for (size_t index = 0; index < vecintegers.size(); index++)//使用下标运算符访问vector中的元素
{
cout << vecintegers.at(index) << ' ';
}
cout << endl;
//从vector的末尾删除元素
vecintegers.pop_back();
cout << "vecintegers.size()="<<vecintegers.size() << endl;
//vector的size()和capacity()
vector<int> vv(5);
cout << "size:" << vv.size() << endl;
cout << "capacity:" << vv.capacity() << endl;
vv.pop_back();
cout << "size:" << vv.size() << endl;
cout << "capacity:" << vv.capacity() << endl;
vector<int> v(5);
cout << "size:" << v.size() << endl;
cout << "capacity:" << v.capacity() << endl;
v.push_back(10);
cout << "size:" << v.size() << endl;
cout << "capacity:" << v.capacity() << endl;
system("pause");
return 0;
}
void displayvector(const vector<int>& vecinput)
{
for (auto ielement = vecinput.cbegin(); ielement != vecinput.cend(); ++ielement)//使用迭代器访问vector中的元素
{
cout << *ielement << ' ';
}
cout << endl;
}