c++顺序容器

it2025-05-24  36

vector<int> vec{1,2,3,4,5,6,7,8};

vector<double> vec2(10,5.6);

vector<int> vec3{ 1,2,3,4,5,6,7,9 };

 

deque<int> deq{ 9,8,7,6,5,4,3,2,1 };

deque<float> deq2(7,7.7f);

 

list<int> li{ 5,6,7,8,9 };

 

forward_list<double> forli(7, 0.1234);

 

array<int, 6> arr{1,5,4,7,9,6};

//array<int, 6> arr2(6,5);array没有构造函数,不能进行构造初始化

 

cout << "vec size = " << vec.size() << endl;

cout << "arr size = " << arr.size() << endl;

//cout << "forli size = " << forli.size() << endl;//forward_list,没有size方法

 

cout << "vec max_size = " << vec.max_size() << endl;

cout << "vec3 max_size = " << vec3.max_size() << endl;

cout << "arr max_size = " << arr.max_size() << endl;

cout << "forli max_size = " << forli.max_size() << endl;

 

vec = { 9,6,3,5,7,4,5,8,7 };

cout << "vec size = " << vec.size() << endl;

/迭代器 begin end

vector<int>::iterator itvec = vec.begin();

cout << *itvec << endl;

cout << *++itvec << endl;

cout << vec.end() - vec.begin() << endl;

 

vector<string> vecstr{"aaa","bbb","ccc","ddd","eee"};

vector<string> vecstr2(vecstr);//容器类型和元素类型必须匹配

//list<string> listr(vecstr);//错误,容器类型不一致

//vector<char> vecch(vecstr);//错误,元素类型不一致

 

swap(vec, vec3);//交换 容器类型要相同,元素类型也要相同同

show(vec);

show(vec3);

vec3.assign({1,1,1,1,2,2,2,2});//替换为初始化表

show(vec3);

 

vec3.assign(5,45);//替换重新构造的元素

show(vec3);

 

vec3.assign(vec.rbegin(),vec.rend());

show(vec3);

最新回复(0)