博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List container
阅读量:6443 次
发布时间:2019-06-23

本文共 3027 字,大约阅读时间需要 10 分钟。

//List容器//List本质是一个双向链表//构造函数list
c0; //空链表list
c1(3); //建一个含三个默认值是0的元素链表list
c2(5,2); //含5个元素,值都是2list
c4(c2); //复制链表list
c5(c1.begin(), c1.end()); //c5包含c1的一个区域元素//成员函数c.begin() //返回链表第一个元素的迭代器c.end() //返回指向链表最后一个元素之后的迭代器c.rbegin() //返回逆向链表的第一个元素,即c链表的最后一个数据c.rend() //返回逆向链表的最后一个元素下一个位置,即c链表的第一个数据再往前的位置//examplelist
l1 = {1,2,3,4}; for (list
::reverse_iterator it = l1.rbegin(); it != l1.rend(); it++) cout << *it << endl; operator= //重载赋值元素符c.assign(n, num) //将n个num拷贝赋值给链表cc.assign(beg, end) //将[beg, end]区间的元素拷贝赋值给链表c //Example list
l1 ; l1.assign(2, 10); for (list
::iterator it = l1.begin(); it != l1.end(); it++) cout << *it << endl; l1.clear(); int a[5] = { 1, 2, 3, 4, 5 }; l1.assign(a, a + 5); for (list
::iterator it = l1.begin(); it != l1.end(); it++) cout << *it << endl; c,front() //返回第一个元素c.back() //返回最后一个元素c.empty() //判空c.size() //返回元素个数c.max_size() //返回可能容纳最大元素数量c.clear() //清除c中所有元素c.insert(pos,num) //在pos位置插入元素num。c.insert(pos,n,num) //在pos位置插入n个元素num。c.insert(pos,beg,end) //在pos位置插入区间为[beg,end)的元素。c.erase(pos) //删除pos位置元素c.push_back(num) //在末尾增加一个元素。c.pop_back() //删除末尾的元素。c.push_front(num) //在开始位置增加一个元素。c.pop_front() //删除第一个元素。c.resize(n) //重新定义链表长度,超出原始长度部分用0代替,小于原始部分删除c.resize(n, num) //重新定义链表长度,超出原始长度部分用num代替,小于原始部分删除c1.swap(c2); //将c1和c2交换。swap(c1,c2); //同上。c1.merge(c2) //合并2个有序的链表并使之有序,重新放到c1里,释放c2。c1.merge(c2,comp) //合并2个有序的链表并使之按照自定义规则排序之后重新放到c1中,释放c2,comp为比较函数,默认合成为升序//comp是一个函数名称//要依据实际情况设计comparebool compare(int n1, int n2){ return n1 > n2;}int main(){ list
l1{ 4,2,1 }, l2{ 6,5,3 }; list
::iterator it; l1.merge(l2,compare); for (it = l1.begin(); it != l1.end(); it++) cout << *it << endl; return 0;}c1.splice(c1.beg, c2) //将c2连接在c1的beg位置,释放c2//Example list
l1{ 1, 2, 3 }, l2{ 4, 5, 6 }; l1.splice(l1.begin(), l2); list
::iterator it; for (it = l1.begin(); it != l1.end(); it++) cout << *it << endl; c1.splice(c1.beg, c2, c2.beg) //将c2的beg位置的元素连接到c1的beg位置,并且在c2中释放掉beg位置的元素c1.remove(num) //删除链表中匹配num的元素。c1.remove_if(comp) //删除条件满足的元素,参数为自定义的回调函数。//Examplebool compare(int n){ return n < 2;}int main(){ list
l1{ 1, 2, 3 }, l2{ 4, 5, 6 }; list
::iterator it; l1.remove_if(compare); for (it = l1.begin(); it != l1.end(); it++) cout << *it << endl; system("pause"); return 0;}c1.reverse() //反转链表c1.unique() //删除相同的元素,只剩下一个c.sort() //将链表排序,默认升序c.sort(comp) //自定义回调函数实现自定义排序

  

转载于:https://www.cnblogs.com/KennyRom/p/5950686.html

你可能感兴趣的文章
使用Open***
查看>>
Android基于Cling开发DLNA应用
查看>>
Android 录音实现
查看>>
DHCP过程的抓包分析
查看>>
“练好内功坚持被集成”,阿里云发布SaaS加速器
查看>>
CentOS 7切换到root用户-bash-4.3#问题及解决办法!
查看>>
学习cisco和oracle的道路
查看>>
SQL转换为日期的做法
查看>>
Oracle数据库在线重做日志被删除的几种恢复方法
查看>>
主要技术DAS、SAN、NAS
查看>>
exchange 2010 系统补丁
查看>>
mysql主从
查看>>
安装python模块paramkio报错 error: command 'gcc' failed with exit status 1
查看>>
1.1Python快速入门
查看>>
HTML5 canvas 标签介绍:定义图形
查看>>
界面编程-2
查看>>
Android系统的开机画面显示过程分析(1)
查看>>
scanf和缓冲区的一切
查看>>
Linux修改支持高并发TCP连接数
查看>>
自学鸟哥linux服务-samba文件共享服务
查看>>