C++中list的使用方法及常用list操作总结

C++中list的使用方法及常用list操作总结

在C++中,list是一个非常常用的STL容器,它能够动态地存储数据,并且对数据的访问、插入、删除等操作都非常高效。本篇文章将介绍C++中list的使用方法及常用list操作的总结。

1. list的定义

在使用list之前,需要包含头文件<list>。list的定义方式如下:

#include <list>
using namespace std;
list<int> myList;

其中,list<int>表示定义了一个存储int类型数据的list容器,myList就是定义的list对象。

2. list的基本操作

2.1 插入操作

  • 在list的末尾插入一个元素:
myList.push_back(10);
  • 在list的头部插入一个元素:
myList.push_front(20);
  • 在list的指定位置插入一个元素:
myList.insert(myList.begin(), 30);

2.2 删除操作

  • 删除list末尾的元素:
myList.pop_back();
  • 删除list头部的元素:
myList.pop_front();
  • 删除list中指定位置的元素:
myList.erase(myList.begin());

2.3 访问操作

  • 获取list正向迭代器的首元素:
int first = *myList.begin();
  • 获取list正向迭代器的尾元素:
int last = *(--myList.end());
  • 遍历list中的所有元素:
for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
    cout << *iter << " ";
}

2.4 修改操作

  • 修改list中指定位置的元素:
*myList.begin() = 40;

3. list常用函数总结

3.1 容量相关函数

  • size():返回list中元素的个数。
  • empty():如果list为空,则返回true。
  • max_size():返回list容器所能容纳的最大元素个数。

3.2 插入操作相关函数

  • push_back(val):在list末尾插入一个元素val
  • push_front(val):在list头部插入一个元素val
  • insert(pos, val):在list的指定位置pos插入一个元素val
  • insert(pos, n, val):在list的指定位置pos插入n个值为val的元素。
  • insert(pos, first, last):在list的指定位置pos插入另一个list[first, last)

3.3 删除操作相关函数

  • pop_back():删除list末尾的元素。
  • pop_front():删除list头部的元素。
  • erase(pos):删除list中指定位置pos的元素。
  • erase(first, last):删除list中从firstlast之间的元素。

3.4 访问操作相关函数

  • front():返回list的头元素。
  • back():返回list的尾元素。

3.5 修改操作相关函数

  • assign(first, last):清空list中原有元素,将[first, last)内的元素赋值给list。
  • assign(n, val):清空list中原有元素,将n个值为val的元素赋值给list。

4. 示例说明

4.1 list的插入操作示例

本例子说明如何插入元素到list中,并使用迭代器遍历结果。

#include <iostream>
#include <list>

using namespace std;

int main() {
    list<int> myList;
    myList.push_back(100);
    myList.push_back(200);
    myList.push_front(50);
    myList.insert(myList.begin(), 10);
    myList.insert(myList.end(), 300);

    // 遍历list
    for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
        cout << *iter << " ";
    }
    cout << endl;

    return 0;
}

输出结果为:

10 50 100 200 300

4.2 list的删除操作示例

本例子说明如何删除list中的元素,并使用迭代器遍历结果。

#include <iostream>
#include <list>

using namespace std;

int main() {
    list<int> myList;
    myList.push_back(100);
    myList.push_back(200);
    myList.push_back(300);

    // 删除list中第二个元素
    auto iter = myList.begin();
    advance(iter, 1);
    myList.erase(iter);

    // 遍历list
    for (auto iter = myList.begin(); iter != myList.end(); ++iter) {
        cout << *iter << " ";
    }
    cout << endl;

    return 0;
}

输出结果为:

100 300

5. 总结

本篇文章介绍了C++中list的定义、基本操作和常用函数等知识点,并给出了两个示例用于说明list的插入、删除操作。希望本文能够帮助大家更好地理解和使用list。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中list的使用方法及常用list操作总结 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • .NET多种数据库大数据批量插入、更新(支持SqlServer、MySql、PgSql和Oracle)

    以下是关于.NET多种数据库大数据批量插入、更新的完整攻略,包含两个示例说明: 1. 使用SqlBulkCopy进行批量插入(SqlServer) using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlBulk…

    other 2023年10月19日
    00
  • 使用Linux五年积累的一些经验技巧

    使用Linux五年积累的一些经验技巧攻略 1. 熟悉基本命令行操作 熟悉基本的命令行操作是使用Linux的关键。以下是一些常用的命令和技巧: ls:列出当前目录下的文件和文件夹。 cd:切换目录。 mkdir:创建新的文件夹。 rm:删除文件或文件夹。 cp:复制文件或文件夹。 mv:移动文件或文件夹。 grep:在文件中搜索指定的字符串。 chmod:修改…

    other 2023年8月15日
    00
  • Python面向对象封装操作案例详解 II

    Python面向对象封装操作案例详解 II 本文将针对Python的面向对象编程中的封装操作进行详细分析和说明,并通过两个具体的案例来说明封装操作的实现方法和技巧,以及封装操作对代码复用性和可维护性的重要性。 封装操作的定义和实现 封装操作是根据面向对象编程的设计思想,将数据和方法封装在一个类中,通过对方法的访问控制实现对数据的操作和修改,确保数据的安全性和…

    other 2023年6月25日
    00
  • datagridview中添加checkbox和常用处理方式.

    DataGridView中添加Checkbox和常用处理方式 DataGridView是.NET Framework中常用的控件之一,它可以用于显示和编辑数据。在DataGridView中添加Checkbox可以方便地进行多选操作。本文将详讲解如何在DataGridView中添加Checkbox以及常用的处理方式。 添加Checkbox 在DataGridV…

    other 2023年5月7日
    00
  • 根据IP地址查交换机端口

    根据IP地址查交换机端口攻略 要根据IP地址查找交换机端口,可以通过以下步骤进行操作: 确定目标交换机:首先,确定你要查找的目标交换机。这可能是你本地网络中的一台交换机,或者是你管理的远程网络中的一台交换机。 登录到交换机:使用适当的管理工具(如SSH或Telnet)登录到目标交换机。你需要具备相应的管理员权限才能执行这个操作。 进入特权模式:一旦登录到交换…

    other 2023年7月31日
    00
  • php文件包含include、include_once、require、require_o…

    PHP文件包含:include、include_once、require、require_once详解 在开发过程中,我们经常会需要在一个文件中使用另外一个文件的内容。这时,我们就需要使用PHP中的文件包含功能,将需要包含的文件引入到当前文件中,从而实现代码的重复利用。 在PHP中,文件包含有四种方式,分别是include、include_once、requ…

    其他 2023年3月28日
    00
  • CSS网页布局开发时的常见问题小结

    CSS网页布局开发时的常见问题小结 在CSS网页布局开发过程中,常常会遇到一些问题。下面是一些常见问题的总结,以及解决这些问题的方法。 1. 盒模型问题 盒模型是CSS布局中的基本概念,但有时候会导致布局出现问题。常见的盒模型问题包括: 边框和内边距的计算:在计算盒子的总宽度和高度时,需要考虑边框和内边距的影响。如果没有正确计算,可能会导致布局错位。解决方法…

    other 2023年9月5日
    00
  • 史上最全的php正则表达式

    史上最全的PHP正则表达式 什么是正则表达式? 正则表达式(Regular Expression)是一种文本匹配的工具,可以用来匹配特定的字符、字符串或者文本块。它在编程语言中广泛使用,特别是在处理字符串的情况下。正则表达式提供了一种方式来对文本进行分析、搜索和替换。 PHP中的正则表达式 PHP内置了支持正则表达式的函数库,包括 preg_match、pr…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部