16.7.2【列表list容器的赋值和交换、大小操作】
作者:互联网
#include<iostream> #include<cstdlib> using namespace std; #include <list> /* 3.7.3 list赋值和交换 给list容器进行赋值,以及交换list容器 assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。 assign(n, elem); //将n个elem拷贝赋值给本身。 list& operator=(const list &lst); //重载等号操作符。 swap(lst); //将lst与本身的元素互换。 3.7.4 list大小操作 对list容器的大小进行操作 size(); //返回容器中元素的个数 empty(); //判断容器是否为空 resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。 //如果容器变短,则末尾超出容器长度的元素被删除。 resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。 //如果容器变短,则末尾超出容器长度的元素被删除。 */ void print_list(const list<int> & L) { for(list<int>::const_iterator cit=L.begin(); cit!=L.end(); cit++) { cout << *cit << " "; } cout << endl; } void test373_1() { list<int> l1; l1.push_back(10); l1.push_back(20); l1.push_back(30); l1.push_back(40); print_list(l1); //赋值 list<int> l2; l2 = l1; print_list(l2); list<int> l3; l3.assign(l1.begin(), l1.end()); print_list(l3); list<int> l4; l4.assign(10, 999); print_list(l4); } void test373_2() { list<int> l1; l1.push_back(10); l1.push_back(20); l1.push_back(30); l1.push_back(40); list<int> l2; l2.assign(10, 999); cout << "交换前:" << endl; print_list(l1); print_list(l2); l1.swap(l2); //互换 cout << "交换后:" << endl; print_list(l1); print_list(l2); } void test374() { list<int> l1; l1.push_back(10); l1.push_back(20); l1.push_back(30); l1.push_back(40); print_list(l1); if(l1.empty()) { cout << "l1为空" << endl; } else { cout << "l1不为空" << endl; cout << "l1元素个数:" << l1.size() << endl; } l1.resize(10); //新指定大小 > 原大小,默认用0填充多出来的位置 print_list(l1); l1.resize(20, 8); //新指定大小 > 原大小,指定值8填充多出来的位置 print_list(l1); l1.resize(2); //新指定大小 < 原大小,删除多出来的元素 print_list(l1); } int main() { test373_1(); test373_2(); test374(); system("pause"); return 0; }
标签:容器,list,back,16.7,print,l1,push,赋值 来源: https://www.cnblogs.com/yppah/p/14755277.html