vector容器
#include "iostream"
#include "vector"
#include "algorithm"
using namespace std;
void print(vector<int> vec){
vector<int>::iterator iter = vec.begin();
for(; iter != vec.end(); iter++)
cout << *iter << ' ';
cout << endl;
}
int main(){
//初始化
vector<int> veco;
const int size = 8;
const int value = 1024;
vector<int> vec1(size);
vector<int> vec2(size, value);
int ia[4] = {0, 1, 1, 2};
vector<int> vec3(ia, ia+4);
vector<int> vec4(vec3);
vector<int> vec5(vec3.begin()+1, vec3.end()-1);
print(vec5);
cout << endl;
print(vec1);
print(vec2);
print(vec3);
print(vec4);
//增加元素
vector<int> vec;
vec.push_back(1);
vec.push_back(11);
vec.push_back(111);
vec.push_back(2);
vec.push_back(22);
vec.push_back(222);
cout << *vec.begin() << ' ' << *(vec.end()-1) << endl;
//搜索
vector<int>::iterator iter;
iter = find(vec.begin(), vec.end(), 2);
if(iter == vec.end())
cout << "没有找到" << endl;
else
cout << "找到了" << *iter << endl;
//访问,vec.at(下标)
vec.pop_back();
print(vec);
cout << "数组实际大小 " << vec.size() << endl;
cout << "数组容量 " << vec.capacity() << endl;
cout << "判断空? " << vec.empty() << endl;
cout << "传回数据 " << vec.at(1) << endl;
cout << "传回数据 " << vec.at(4) << endl;
cout << "传回数据 " << vec[4] << endl;
//插入,(pos, x),(pos, n, x),(pos, pos1, pos2)
vec.insert(vec.begin(),333);
print(vec);
vec.insert(vec.begin()+1,2,444);
print(vec);
vec.insert(vec.begin()+3,vec3.begin(), vec3.end());
print(vec);
//删除,(pos),(pos1, pos2)
cout << endl;
vec.erase(vec.begin()+1);
print(vec);
vec.erase(vec.begin()+1, vec.begin()+3);
print(vec);
cout << endl;
//交换
cout << endl;
swap(vec1, vec2);
print(vec1);
print(vec2);
cout << endl;
//赋值,(n, val)
vec.assign(20,2);
print(vec);
vec.assign(vec3.begin(), vec3.end());
print(vec);
//重定义容量,(new_size, x)
vec.resize(30);
print(vec);
vec.resize(10);
print(vec);
vec.resize(20,1);
print(vec);
//清空
vec.clear();
vec.push_back(1);
print(vec);
return 0;
}
#include "iostream"
#include "vector"
#include "algorithm"
#include "string"
using namespace std;
void print(vector<int> vec){
vector<int>::iterator iter = vec.begin();
for(; iter != vec.end(); iter++)
cout << *iter << ' ';
cout << endl;
}
void print(vector<char> vec){
vector<char>::iterator iter = vec.begin();
for(; iter != vec.end(); iter++)
cout << *iter << ' ';
cout << endl;
}
int main(){
//初始化
string id[] = {"abc","ac","ab"};
int ia[] = {2,4,5,6,3,1,7};
char ib[] = {'b','a','d','c'};
string ic = "badc";
const int size = 8;
const int value = 1024;
vector<int> vec(ia, ia+7);
vector<char> vecchar(ic.begin(), ic.end());
vector<char> vecchar2(&ic[0], &ic[4]);
vector<string> vecstring;
vecstring.push_back("abc");
vecstring.push_back("ac");
vecstring.push_back("ab");
//字典序排序
for (auto &item : vecstring)
cout << item << ' ';
cout << endl;
sort(vecstring.begin(),vecstring.end());
for (auto &item : vecstring)
cout << item << ' ';
cout << endl;
print(vecchar);
print(vec);
sort(vec.begin(),vec.end());
sort(vecchar.begin(),vecchar.end());
print(vecchar);
print(vec);
for (auto &item : vecchar)
cout << item;
cout << endl;
for (auto &item : vec)
cout << item;
//逆序翻转
reverse(vec.begin(), vec.end());
cout << endl;
for (auto &item : vec)
cout << item;
reverse(vec.begin()+1, vec.end()-1);
cout << endl;
for (auto &item : vec)
cout << item;
return 0;
}
#include "iostream"
#include "vector"
#include "algorithm"
#include "string"
using namespace std;
int main(){
//vec1 > vec2是按字典序判断的
int a1[] = {1,3,5,7,9,12};
int a2[] = {1,3,5,7,9,11,12};
vector<int> vec1(a1, a1+6);
vector<int> vec2(a2, a2+7);
for (auto &item : vec1)
cout << item << ' ';
cout << endl;
for (auto &item : vec2)
cout << item << ' ';
cout << endl;
cout << (vec1 > vec2);
return 0;
}