List 双向链表容器基础应用

 

List 双向链表容器介绍

List采用双向循环的链表结构组织数据元素,链表中的每个节点包括指向前去的指针、实际数据和指向后继的指针等数据域。

C++标准头文件list:宏语句 “#include <list>”

创建list对象

1)         List()

创建一个没有任何元素的list对象

List<int>  l ;

2)         List(size_type  n)

创建一个链接有n个元素的list对象,每个元素赛用它的类型下的默认值。

List<int>  l(10);   //10个元素的初始值都为0

3)         List(size_type  n,const  T& value)

拷贝函数

List<char>  l1(5,’k’);

List<char>  l2(l1);

4)         List(const  list &)

将一个list对象的迭代器区间[first ,  last)所指的元素拷贝到新创建的list对象中。

Int  array[] = {19,13,38};

List<int>  l(array,array+3);

5)         List(inputiterator  first ,  inputiterator  last)

初始化赋值

Void push_back(const T&)

将元素依次填入链表中,常用于初始化list容器

元素的遍历访问

 

元素的插入

1)         Void  push_front(const  T&)

在链表首部插入元素

2)         Iterator  insert(iterator  pos,  const  T&)

在任意迭代器位置上插入元素

元素的删除

1)         Void  pop_front()

删除链表的第一个元素

2)         Void  pop_back()

删除链表的最后一个元素

3)         Iterator  erase(iterator  pos)

删除任意迭代器位置上的链表元素

4)         Iterator  erase(iterator  first,iterator  last)

删除迭代器区间[first, last)上的链表元素

5)         Void  clear()

删除链表上所有的list元素

6)         Void  remove(const  T&  value)

删除链表上所有元素值为value的元素

 

List的交换

Void  swap(list &)

交换两个链表list中的所有元素

List的归并

1)         Void  splice(iterator  position, list  &x)

x的链表归并到当前list链表的position位置之前,x被清空

2)         Void  splice(iteratro  position, list  &,iterator  i)

将一个list迭代器i值所指的元素归并到当前list链表中,并将被归并的元素从原链表中删除

3)         Void  merge(list &x)

将一个list对象x归并到当前链表中,并清空x只有当前list链表和被归并的x的元素均按元素值的小于关系排好序,merge函数才有效

 

List的元素排序

Void  sort()

按“<“关系进行list链表元素排序。

List的连续重复元素的剔除

Void  unique()

将连续重复的元素删除,仅保留一个。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值