list基本使用

list基本使用


list容器底层是带头双向链表结构,可以在常数范围内在任意位置进行输入和删除,但不支持任意位置的随机访问(如不支持[ ]下标访问),下面介绍list容器的基本使用接口。

template < class T, class Alloc = allocator > class list;

在这里插入图片描述

构造

1.无参构造

list()

2.使用n个元素val进行构造

list(size_type n,const value_type& value = value_type());

3,拷贝构造

list(const list& x);

4.使用迭代器区间进行构造

list(InputIterator first, InputIterator last);

迭代器

1.正向迭代器

iterator begin();
const_iterator begin() const;

terator end();
const_iterator end() const;

2.反向迭代器

reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
reverse_iterator rend();
const_reverse_iterator rend() const;

容量

1.判断链表是否为空

bool empty() const;

2.获取链表中有效节点个数

size_type size() const;

3.修改容量大小

void resize (size_type n, value_type val = value_type());

访问

1.获取链表第一个节点的值的引用

reference front();
const_reference front() const;

2.获取链表最后一个节点的值的引用

reference back();
const_reference back() const;

修改

1.元素首插

void push_front (const value_type& val);

2.元素尾插

void push_back (const value_type& val);

3.在position位置插入值为val的元素

iterator insert (iterator position, const value_type& val);
void insert (iterator position, size_type n, const value_type& val);

template
void insert (iterator position, InputIterator first, InputIterator last);
//
//Notice that the range includes all the elements between first and last, including the element pointed by first but not the one pointed by last.

5.元素首删

void pop_front();

6.元素尾删

void pop_back();

7.删除position位置的元素

iterator erase (iterator position);
iterator erase (iterator first, iterator last);
//
//the range includes all the elements between first and last, including the element pointed by first but not the one pointed by last.

8.清空链表有效元素

void clear();

9.交换两个链表的所有元素

void swap (list& x);

需要注意的是,list在进行插入操作时,不需要移动数据,因此进行元素插入不会导致迭代器失效,但在进行元素删除时,指向删除元素的迭代器会失效,其他的并没有影响。

相关推荐

  1. list使用

    2024-02-05 10:08:04       10 阅读
  2. List 流的使用

    2024-02-05 10:08:04       30 阅读
  3. List--splice使用技巧

    2024-02-05 10:08:04       21 阅读
  4. C# List使用详解

    2024-02-05 10:08:04       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 10:08:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 10:08:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 10:08:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 10:08:04       18 阅读

热门阅读

  1. Docker方式创建keepalived连接MGR集群

    2024-02-05 10:08:04       29 阅读
  2. Postgresql源码(120)事务XID分配与主备XID同步

    2024-02-05 10:08:04       29 阅读
  3. SQL Parser

    2024-02-05 10:08:04       28 阅读
  4. 15、jenkins

    2024-02-05 10:08:04       26 阅读
  5. 自然语言处理中所有任务的概括

    2024-02-05 10:08:04       26 阅读
  6. 十大设计模式总结版

    2024-02-05 10:08:04       24 阅读
  7. 算法题目题单——图论

    2024-02-05 10:08:04       29 阅读
  8. C#、Unity:Time 时间与计时

    2024-02-05 10:08:04       19 阅读