C++的list的函数
来源:互联网 发布:mac下载软件可以删 编辑:程序博客网 时间:2024/06/06 06:49
List 用法小结
结构体函数:
无参数的:
list <type> l ; 就是新建一个空的链表
1个参数的:
list <type> l ( n ) ; 就是建立一个有n个元素的链表,这些元素的值都是默认的
list <type>l ( t ) // t是个list<type> ; 就是建立一个和t一模一样的链表
2个参数的:
list <type> l ( n , x ) ; 就是建立一个有n个元素的链表,这些元素的值都初始化为x
int array[]={1,2,3} ; list <type>l ( array , array + 3 ) ; 将另一个list对象的迭代器区间
[ first , last )/*注意右边界是不包括的*/的内容拷贝到新的list对象中
嗯结构体函数大概就这么多
对数据的操作:
l.push_back ( x ) 在链表l的尾部插入type类数据x , l.pop_back()是删除链表尾部的一个元素
l.push_front ( x ) 在链表l的首部插入type类数据x ,l.pop_front()是删除链表首部一个元素
list <type>::iterator iter ; iter = l.begin() ; iter ++ ; l.insert ( iter , x ) /*这里需要注意list里的迭代器不能直接+n,必须得++或--,一个一个挪*/ 插入一个元素x在链表的iter所指的位置之前 对应的删除是l.erase ( iter ) ,将iter所指向的元素删除,实际上那么iter也就没用了,故一般新开一个专门用来删除的迭代器。—— l.erase (iter_first , iter_last ) 将iter_first到iter_last之间的元素(包括iter_first ,不包括 iter_last) 删除
另外还有一个特殊的删除,l.remove( value ) 删除链表中所有值为value的节点
这些函数之外,当然还有这么些东西:
empty ()/*返回是否list为空,为空则真*/
clear () /*将链表清空~*/
sort () /*将链表里的元素排序*/
begin () /*返回指向首位的迭代器*/
end ()/*返回指向末位的迭代器*/
front () /*返回首位值*/
back () /*返回末位值*/
l_1.swap ( l_2 ) /*顾名思义,将l_1和l_2的内容全部调换*/
l.splice ( iter , l_2 ) /*将l_2归并到l的iter指向的元素之前并清空l_2*/
l.splice ( iter , l_2 , iter_2 ) /*把l_2中iter_2所指向的元素归并到l中iter所指向的元素前面并清空l_2*/
merge()没用过。
- 自己写的LIST操作函数C语言
- C写的单向链表List操作函数
- list容器的函数
- list 的 splice 函数
- list的构造函数
- list相关的函数
- list 的c实现
- C++list的用法
- 【C++】list的使用方法
- c的list和c++的list
- C++的list的函数
- 自定义Lisp的list函数
- 【STL】list的构造函数
- Python3 的list.sort函数
- list常用函数的例子
- python list 的 del() 函数
- list的C++成员函数
- STL的list成员函数
- 潜力无限
- APPlication,Session和Cookie的区别方法
- ubuntu 增加eclipse桌面快捷方式
- ACM位运算,被鄙视了。。。总结
- MAYA API插件编程--入门篇
- C++的list的函数
- Extjs实现多个Grid使用同一个Store,但显示不同的内容
- 使用sp_getapplock限制用户顺序访问存储过程
- 结构——复合值类型
- 函数声明和定义
- C#用socket传输类或结构,以及结构和bytes[]互转
- UNIX系统编程1《笔记》
- 在linux应用程序使用system函数执行简单的shell交互命令的方法
- plsql 语法、过程、函数、包、触发器