- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
list
?
?
STL中的list就是一双向链表,可高效地进行插入删除元素。
list不支持随机访问。所以没有 at(pos)和operator[]。
list对象list1, list2分别有元素list1(1,2,3),list2(4,5,6)。listint::iterator it;
list成员 说明 constructor 构造函数 destructor 析构函数 operator= 赋值重载运算符 assign 分配值 front 返回第一个元素的引用 back 返回最后一元素的引用 begin 返回第一个元素的指针(iterator) end 返回最后一个元素的下一位置的指针 rbegin 返回链表最后一元素的后向指针(reverse_iterator or const) rend 返回链表第一元素的下一位置的后向指针 push_back 增加一元素到链表尾 push_front 增加一元素到链表头 pop_back pop_back()删除链表尾的一个元素 pop_front 删除链表头的一元素 clear 删除所有元素 erase 删除一个元素或一个区域的元素(两个重载) remove? 删除链表中匹配值的元素(匹配元素全部删除) remove_if 删除条件满足的元素(遍历一次链表),参数为自定义的回调函数 empty 判断是否链表为空 max_size 返回链表最大可能长度 size 返回链表中元素个数 resize 重新定义链表长度(两重载函数) reverse 反转链表 sort? 对链表排序,默认升序 merge 合并两个有序链表并使之有序 splice? 对两个链表进行结合(三个重载函数)?结合后第二个链表清空 insert 在指定位置插入一个或多个元素(三个重载函数) swap 交换两个链表(两个重载) unique? 删除相邻重复元素?
1.list构造函数
listint L0; // 空链表
listint L1(9); // 建一个含个默认值是的元素的链表
listint L2(5,1); // 建一个含个元素的链表,值都是
listint L3(L2); // 建一个L2的copy链表
listint L4(L0.begin(), L0.end());//建一个含L0一个区域的元素
?
2. assign()分配值,有两个重载
L1.assign(4,3);?? // L1(3,3,3,3)
L1.assign(++list1.beging(), list2.end()); // L1(2,3)
?
3.operator= 赋值重载运算符
L1 = list1; // L1(1,2,3)
?
4.?? front()返回第一个元素的引用
int nRet = list1.front() // nRet = 1
?
5. ?back()返回最后一元素的引用
int nRet = list1.back() // nRet = 3
?
6. ?begin()返回第一个元素的指针(iterator)
it = list1.begin();????// *it = 1
?
7. ??end()返回最后一个元素的下一位置的指针(list为空时end()=begin())
it = list1.end();
--it; // *it = 3
?
8.rbegin()返回链表最后一元素的后向指针(reverse_iterator or const)
listint::reverse_iterator it = list1.rbegin(); // *it = 3
?
9.???rend()返回链表第一元素的下一位置的后向指针
listint::reverse_iterator it = list1.rend(); // *(--riter) = 1
?
10.push_back()增加一元素到链表尾
list1.push_back(4) // list1(1,2,3,4)
11.?push_front()增加一元素到链表头
list1.push_front(4) // list1(4,1,2,3)
?
12.?pop_back()删除链表尾的一个元素
list1.pop_back()?? // list1(1,2)
?
13.pop_front()删除链表头的一元素
list1.pop_front() // list1(2,3)
?
14.clear()删除所有元素
list1.clear();???// list1空了,list1.si
文档评论(0)