C++进阶STL-list容器
list 容器
- 由节点组成,每个节点有两个域,一个存放数据,一个存放地址(指向下一个元素的地址),它的存储控件可以不连续。
- 不支持随机访问
构造函数
- list
listT // 采用模板实现,默认构造。 - list(begin,end) // 将begin end之间的元素拷贝给自己
- list(n,element) // 将n个element拷贝给自己
- list(const list& listT) // 拷贝构造
赋值操作
- assign(begin,end) //将begin end之间的元素拷贝给本身
- assign(n,element) //将n个element拷贝给本身
- list& operator=(const list& listT) //重载=操作符
- swap(listT) // 本身和listT之间的元素互换
元素的插入和删除
- push_back(element) //从尾部插入一个元素
- push_front(element) //从开头插入一个元素
- pop_back() //从尾部删除一个元素
- Pop_front() //从头部删除一个元素
- insert(pos,element) // 在pos处插入element
- insert(pos,n,element) // 在pos的位置处插入 n个element
- insert(pos,begin,end) // 在pos的位置插入 begin 和 end之间的元素
- erase(begin,end) //删除begin 和 end 之间的元素
- erase(pos) //删除pos的元素,返回下一个元素的地址
- remove(element) // 删除容器总所有和element匹配的元素
- clear() //删除容器中所有的元素
元素存取
- front() //返回第一个元素
- back() //返回最后一个元素
容器的大小
- empty() //判断容器是否为空
- size() //返回容器元素的个数
- resize(num) //重新指定容器为num大小,num大于原来的空间,以默认值填充
- resize(num,element) //重新指定容器为num大小,num大于原来的空间,以elemnt填充
list 容器的翻转、排序
- reverse() //翻转链表 比如1 2 3 变成 3 2 1
- sort() //list 排序(list的成员函数,不是算法,默认从小到大,如果不是基础类型,需要制定排序规则,因为算法中的sort只能对支持随机访问的容器进行排序,所以不支持list容器的排序,所以list自己有排序成员方法)
还没有评论,来说两句吧...