STL - list的能力
来源:互联网 发布:c 用指针链接两个数组 编辑:程序博客网 时间:2024/05/16 11:43
1. list:
使用双向链表管理元素;
不支持随机存取,不提供下标操作符和at()操作;
常数时间内完成元素的安插和移除;
安插和移除动作不会造成指向其他元素的各个pointers、references、iterators失效;
要么操作成功,要么什么都不发生;
不提供容量、空间重新分配操作;
2. size_type size()
返回现有元素的个数;
3. size_type max_size()
返回元素的最大可能数量,往往返回一个比较大的数值;
4. bool empty()
检查容器是否为空,为空返回true;
5. void assign(size_type num, const T & value)
以num个value副本替换掉所有现有元素;
6. void assign(InputIterator beg, InputIterator end)
以[beg, end)内的元素副本替换所有的现有元素;
7. void swap(container & c)
与c交换所有内容;
8. reference front()
返回第一个元素,容器中无元素将导致未定义行为;
9. reference back()
返回最后一个元素,容器中无元素将导致未定义行为;
10. iterator insert(iterator pos, const T & value)
在迭代器pos的位置上(pos所指元素之前,即:左边)安插一个value副本,返回新元素的位置;
11. void insert(iterator pos, size_type num, const T & value)
在迭代器pos的位置上安插num个value的副本,无返回值;
12. void insert(iterator pos, InputIterator beg, InputIterator end)
将区间[beg, end)内所有元素的副本安插于迭代器pos所指的位置上;
13. void push_back(const T & value)
在尾部添加value的副本;
14. void pop_back()
将容器最后一个元素移除,无返回值;
15. void push_front(const T & value)
在头部添加value的副本;
16. void pop_front()
将容器第一个元素移除,无返回值;
17. void remove(const T & value)
移除所有实值等于value的元素;
18. void remove_if(UnaryPredicate op)
移除所有使判断式op(elem)结果为true的元素;
19. iterator erase(iterator pos)
将迭代器pos所指位置上的元素移除,返回其后继元素的位置;
20. iterator erase(iterator beg, iterator end)
移除区间[beg, end)内的所有元素,返回被移除的最后一个元素的后继元素的位置;
21. void resize(size_type num)
将容器大小改为num,如果num大于size(),在尾端通过default构造函数构造新元素;如果num小于size(),则移除后面多余的尾端元素,直到大小为size(),每个被移除的元素的析构函数都会被调用;
22. void resize(size_type num, T value)
将容器大小改为num,如果num大于size(),在尾端填充value的副本作为新元素;如果num小于size(),则移除后面多余的尾端元素,直到大小为size(),每个被移除的元素的析构函数都会被调用;
23. void clear()
移除所有元素,所有元素的析构函数都将被调用,size()将变为0。
24. void unique()
将list中所有相邻而重复的元素移除,使每一个元素都不同于下一个元素;
25. void unique(BinaryPredicate op)
移除list中所有相邻且使得二元判断式op(elem, nextelem)为true的元素。
26. void splice(iterator pos, list & source)
将source的所有元素移动(注意:不是复制,是移动)到*this,并安插到迭代器pos所指位置(pos所指元素之前,即左边)。
27. void splice(iterator pos, list & source, iterator sourcePos)
从source list中,将位于sourcePos位置上的元素移动至*this,并安插于迭代器pos所指位置。
28. void splice(iterator pos, list & source, iterator sourceBeg, iterator sourceEnd)
从source list中,将位于[sourceBeg, sourceEnd)区间内的所有元素移动到*this,并安插于迭代器pos所指位置。
29. void sort()
对list内的所有元素进行排序,以operator<对元素排序;
30. void sort(CompFunc op)
对list内的所有元素进行排序,以op(elem1, elem2)对元素排序;
31. void merge(list & source)
将list source内的所有元素并入*this,调用后source成为空容器;
32. void merge(list & source, CompFunc op)
将list source内的所有元素并入*this,调用后source成为空容器,如果*this和source在排序准则operator<或op之下已序,则新产生的list也是已序的;
33. void reverse()
将list中的元素颠倒次序。
使用双向链表管理元素;
不支持随机存取,不提供下标操作符和at()操作;
常数时间内完成元素的安插和移除;
安插和移除动作不会造成指向其他元素的各个pointers、references、iterators失效;
要么操作成功,要么什么都不发生;
不提供容量、空间重新分配操作;
2. size_type size()
返回现有元素的个数;
3. size_type max_size()
返回元素的最大可能数量,往往返回一个比较大的数值;
4. bool empty()
检查容器是否为空,为空返回true;
5. void assign(size_type num, const T & value)
以num个value副本替换掉所有现有元素;
6. void assign(InputIterator beg, InputIterator end)
以[beg, end)内的元素副本替换所有的现有元素;
7. void swap(container & c)
与c交换所有内容;
8. reference front()
返回第一个元素,容器中无元素将导致未定义行为;
9. reference back()
返回最后一个元素,容器中无元素将导致未定义行为;
10. iterator insert(iterator pos, const T & value)
在迭代器pos的位置上(pos所指元素之前,即:左边)安插一个value副本,返回新元素的位置;
11. void insert(iterator pos, size_type num, const T & value)
在迭代器pos的位置上安插num个value的副本,无返回值;
12. void insert(iterator pos, InputIterator beg, InputIterator end)
将区间[beg, end)内所有元素的副本安插于迭代器pos所指的位置上;
13. void push_back(const T & value)
在尾部添加value的副本;
14. void pop_back()
将容器最后一个元素移除,无返回值;
15. void push_front(const T & value)
在头部添加value的副本;
16. void pop_front()
将容器第一个元素移除,无返回值;
17. void remove(const T & value)
移除所有实值等于value的元素;
18. void remove_if(UnaryPredicate op)
移除所有使判断式op(elem)结果为true的元素;
19. iterator erase(iterator pos)
将迭代器pos所指位置上的元素移除,返回其后继元素的位置;
20. iterator erase(iterator beg, iterator end)
移除区间[beg, end)内的所有元素,返回被移除的最后一个元素的后继元素的位置;
21. void resize(size_type num)
将容器大小改为num,如果num大于size(),在尾端通过default构造函数构造新元素;如果num小于size(),则移除后面多余的尾端元素,直到大小为size(),每个被移除的元素的析构函数都会被调用;
22. void resize(size_type num, T value)
将容器大小改为num,如果num大于size(),在尾端填充value的副本作为新元素;如果num小于size(),则移除后面多余的尾端元素,直到大小为size(),每个被移除的元素的析构函数都会被调用;
23. void clear()
移除所有元素,所有元素的析构函数都将被调用,size()将变为0。
24. void unique()
将list中所有相邻而重复的元素移除,使每一个元素都不同于下一个元素;
25. void unique(BinaryPredicate op)
移除list中所有相邻且使得二元判断式op(elem, nextelem)为true的元素。
26. void splice(iterator pos, list & source)
将source的所有元素移动(注意:不是复制,是移动)到*this,并安插到迭代器pos所指位置(pos所指元素之前,即左边)。
27. void splice(iterator pos, list & source, iterator sourcePos)
从source list中,将位于sourcePos位置上的元素移动至*this,并安插于迭代器pos所指位置。
28. void splice(iterator pos, list & source, iterator sourceBeg, iterator sourceEnd)
从source list中,将位于[sourceBeg, sourceEnd)区间内的所有元素移动到*this,并安插于迭代器pos所指位置。
29. void sort()
对list内的所有元素进行排序,以operator<对元素排序;
30. void sort(CompFunc op)
对list内的所有元素进行排序,以op(elem1, elem2)对元素排序;
31. void merge(list & source)
将list source内的所有元素并入*this,调用后source成为空容器;
32. void merge(list & source, CompFunc op)
将list source内的所有元素并入*this,调用后source成为空容器,如果*this和source在排序准则operator<或op之下已序,则新产生的list也是已序的;
33. void reverse()
将list中的元素颠倒次序。
- STL - list的能力
- STL - vector的能力
- STL - map的能力
- STL list的使用
- stl list的使用
- stl list的查找
- STL list的练习
- stl的list排序
- [STL]list的用法
- [STL] list的使用
- [STL]List的实现
- STL List 的实现
- STL的list读书笔记
- STL list 的循环
- C++的STL中list
- STL中list的使用
- STL中list的使用
- STL中list的使用:
- 最长不重复子串+质因数分解算法
- 女人的猫性若消失了,就是真的要离开你了
- Linux下配置ruby+rails 骨灰级菜鸟教程
- 判定两棵二叉树是否同构
- Jquery的Ajax简例
- STL - list的能力
- 把一串数字中的3去掉
- Linux core 文件介绍
- 中国人的九种体质及其调养
- 多文档中怎么更改MainFrme和各个视图(子窗口)的名字
- Mms 数据库的一个bug
- C# 压缩文件夹及文件
- HTML5开发 页游/手游动画及游戏系列教程(Game Tutorial):(二)基本动画(canvas先生很忙)
- js验证上传的文件是否为JPEG,PNG,JPG,GIF格式