vector 是向量类型,它可以容纳许多类型的数据,称其为容器。vector 是C++ STL的一个重要容器,使用它时需要包含头文件:#include<vector>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
// vector<int> a(10); // 初始化1:定义了10个整型元素的向量
// vector<int> a(10, 2); //初始化2: 全部初始值为2
//int arr[9] = {1,2,3,4,5,6,7,8,9};
int arr[9] = {1,2,4,9,7,8,3,6};
vector<int> a(arr, arr+9); // 初始化3: 从数组中获得初值(常)
//vector<int> b(a); // 初始化4:用a向量来创建b向量,整体复制性赋值
vector<int> b(a.begin(), a.begin()+3); // 初始化5:用a向量来创建b向量,b部分复制:从0到3
b.assign(a.begin()+3, a.begin()+6); //复制操作
cout << a.size() << endl; // 输出vector中元素个数
cout << a.capacity() << endl;
cout << "----------a:" << endl;
for(int i = 0;i < a.size(); i++)
{
cout << i << ": " << a[i] << endl;
}
cout << "---------b:" << endl;
for(int i = 0; i < b.size(); i++)
{
cout << i << ": " << b[i] << endl;
}
for(int i = 0; i < b.size(); i++)
{
cout << i << ": " << b[i] << endl;
}
cout << "----------- 操作:" << endl;
cout << a.back() << endl; // 返回a的最后一个元素a[a.size()-1]
cout << a.front() << endl; // 返回a的第一个元素a[0]
// a.clear(); // 清空
cout << a.empty() << endl; // 判断是否为空
// a.pop_back(); //删除a向量的最后一个元素
// a.push_back(5); // 在a的最后一个向量最后插入一个元素,其值为5
// a.erase(a.begin()+1,a.begin()+3); //删除a[1],a[2]
// a.insert(a.begin()+1, 5); //在a[1]处插入5
// a.insert(a.begin()+1,3,5); //在a[1]处插入3个5
// a.insert(a.begin()+1,arr+3,arr+6); //在a[1]处插入数组arr的第三个到第五个数
// a.resize(5); //调整容量
// a.swap(b); //a跟b这两个vector整体交换
cout << "---------------算法:" << endl;
sort(a.begin(), a.end());
reverse(a.begin(), a.end());
vector<int>::iterator it = find(a.begin(), a.end(), 10);
cout << "------------操作后的a: " << endl;
for(int i = 0; i < a.size(); i++)
{
cout << i << ": " << a[i] << endl;
}
// for(vector<int>::iterator it = a.begin() it < a.end(); it++)
// cout << *it << endl;
// cout << "------------操作后的b:" << endl;
// for(int i = 0; i < b.size(); i++)
//{
// cout << i << ": " << b[i] << endl;
//}
return 0;
}
网友评论