cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n) //调整存储数据的大小至n 7 c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t. 8 9 注意:resize操作可能会使迭代器失效 /*cb11a_c++_顺序容器的的操作4 容器大小的操作 c.size() 容器当前的个数 c.max_size(),容器最大存储量…
cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec->slist c1=c2; //c2容器的数据赋值给c1c1.swap(c2); //c1与c2数据交换c.assign(b,e); //用于赋值,类型兼容就可以 svec.assign(slist.begin(), slist.end()); //string不能转成字符指针,指针可以转strin…
/*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删除所有c.pop_back() //删除最后一个c.pop_front() //删除最前的一个find查找算法list<string>::iterator iter1= find(slist.begin(), slist.end(), s);注意:c.pop_front()只适用于list和deq…
cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 容器的比较是基于容器内元素的比较 7 容器内元素必须有相应的关系运算符 8 list不能与vector作比较 9 容器类型必须一致,数据类型必须一致 10 /*cb10a_c++_cb09a_c++_顺序容器的操作3 顺序容器的操作3 关系运算符 所有的容器类型都可以使用 比较的容器必须具有相同的容…
cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t);在迭代器p,插入tc.insert(p,n,t);在迭代器p,插入n个tc.insert(p,b,e);把迭代器b,e之间的数据,插入到迭代器p指向的位置.容器元素都是副本添加元素可能会使迭代器失效避免存储end操作返回的迭代器 welcome to discusstxwtech@163.com…
cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c++_顺序容器的操作1 容器定义的类型别名 begin(闭区间)和end(开区间)成员 {first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. */ #include <iostream> #include <vector> #include <li…
/*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入,删除速度快.vector插入,删除速度慢. list缺点:排序慢 3.deque的优点与缺点 优点:快速排序,双端操作. 缺点:比vector操作慢一点点插入操作如何影响容器的选择---list元素的访问如何影响容器的选择---vector选择容器的提示---不知道选择哪个,就vector. 因为…
c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作 关键概念:向容器添加元素时,添加的是元素的拷贝,而不是对象本身.随后对容器中元素的任何改变都不会影响到原始对象,反之亦然. 关键警告:因为vector,deque,string的内存存储都是在连续的空间上,所以向vector,deque,string的头尾以外的位置插入元素或者删除元素,会产生元素的移动,就会非常耗时,这时就应该考虑使用双向链表list,但是list不支持下标操作 知识点…
一.顺序容器操作 1.向顺序容器添加元素 向顺序容器(array除外)添加元素的操作: 操作 说明 c.push_back(t) 在c的尾部创建一个值为t的元素.返回void c.emplace_back(args) 在c的尾部创建一个由args创建的元素.返回void c.push_front(t) 在c的头部创建一个值为t的元素.返回void c.emplace_front(args) 在c的头部创建一个由args创建的元素.返回void c.insert(p, t) 在迭代器p指向的元素之…
/*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:stackqueuepriority_queue 一种容器的数据初始化另一种类型容器 //用迭代器,vector容器初始化list. list<string> slist(svec.begin(),svec.end());关联容器:xxx 字符串数组:char str1[]="abc"…