#include <iostream>
#include <cassert>
#include <vector>
#include <string>
#include<algorithm>
using namespace std;
int main()
{
//初始化字符串容器方法1
vector<string> v(5, "hello");
vector<string> v2(v.begin(), v.end());
assert(v == v2);
cout << "> Before operation" << endl;
//遍历容器方法1
for (vector<string>::const_iterator it = v.begin(); it < v.end(); ++it)
cout << *it << endl;
//容器的插入
v.insert(v.begin() + 3, 4, "hello, world");
cout << "> After insert" << endl;
//遍历容器方法2
for (vector<string>::size_type i = 0; i < v.size(); ++i)
cout << v[i] << endl;
vector<string>::iterator it = v.erase(v.begin() + 3, v.begin() + 6);
assert(*it == "hello, world");
cout << "> After erase" << endl;
for (vector<string>::size_type i = 0; i != v.size(); ++i)
cout << v[i] << endl;
assert(v.begin() + v.size() == v.end());
assert(v.end() - v.size() == v.begin());
assert(v.begin() - v.end() == -vector<string>::difference_type(v.size()));
//Vector排序
vector< int > vi;
//初始化字方法2
vi.push_back(1);
vi.push_back(3);
vi.push_back(0);
sort(vi.begin(), vi.end()); //容器排序 小到大
for (int i = 0; i != vi.size(); i++) /// 第一种调用方法
{
cout << vi[i] << " ";
}
reverse(vi.begin(), vi.end()); /// 容器排序从大道小
for (vector<int>::iterator it = vi.begin(); it != vi.end(); it++) ///第二种调用方法
{
cout << *it << " ";
}
vector < int >::iterator it1 = find(vi.begin(), vi.end(), 3);
cout << *it1 << endl; ///返回容器内找到值的位置。
cout << vi.empty() << endl; // 如果为容器为空,返回true;否则返回false
cout << vi.max_size() << endl; // 返回容器能容纳的最大元素个数
cout << vi.size() << endl; // 返回容器中元素个数
return 0;
}
可以实现大数据操作
c++ vector实验
最新推荐文章于 2022-05-21 16:34:05 发布