【C++ STL 容器】——list
简介
list是一个双向链表,他有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素都会配置或释放一个元素空间。
常用函数
构造函数
- list
c;创建一个空的list - list
c1(c2);复制另一个同类型元素的list - list
c(n);创建n个元素的list,每个元素值由默认构造函数确定 - list
c(n,elem);创建n个元素的list,每个元素值为elem - list
c(begin,end);由迭代器创建list,迭代区间为[begin,end)
- list
大小,判断空函数
- int size() const;返回容器元素个数
- bool empty() const;判断容器是否为空,空 返回true,否则返回false
增加,删除函数
- void push_front(const T& x);list容器头部增加一个元素x
- void push_back(const T& x):list容器尾部增加一个元素x
- void pop_front();删除list容器中最前一个元素。
- void pop_back();删除list容器中最后一个元素。
- void remove(const T& x);删除容器中所有元素值等于x的元素。
- void clear();删除容器中所有元素
- iterator insert(iterator it,const T& x);list容器中某一元素前增加一个元素x
- void insert(iterator it,int n,const T&x);list容器中某一元素前增加n个相同元素x
- void insert(iterator it,const_iterator first,const_iterator last):list容器中某一元素前插入另一个相同类型向量的[first,last)间的数据。
- iterator erase(iterator it);删除list容器中某一个元素。
- iterator erase(iterator first,iterator last);删除list容器中[first,last)中元素。
遍历函数
- reference front();返回首元素的引用。
- reference back():返回尾元素的引用。
- iterator begin();返回list容器头指针,指向第一个元素。
- iterator end():返回list容器尾指针,不包括最后一个元素,再其下面。
- reverse_iterator rbegin();反向迭代器,最后一个元素迭代指针。
- reverse_iterator rend();反向迭代器,第一个元素之前的迭代指针。
操作函数
- void sort();容器内所有元素排序,默认是升序
- template
void sort(Pred pr):容器内所有元素根据预判定函数pr排序 - void swap(list &str):两容器交换功能
- void unique();容器内相邻元素若有重复的,则仅保留一个。
- void splice(iterator it,list &x);队列合并函数,队列x所有元素插入迭代指针it前,x变成空队列。
- void splice(iterator it,list &x,iterator first);队列x中移走[first,end)间元素插入迭代指针it前
- void splice(iterator it,list &x,iterator first,iterator last);队列x中移走[first,last)间元素插入迭代指针it前
- void reverse();反转容器中元素顺序
还没有评论,来说两句吧...