21xrx.com
2025-03-21 17:13:14 Friday
文章检索 我的文章 写文章
C++链表函数list的使用及示例
2023-07-02 07:48:38 深夜i     --     --
C++ 链表 函数 list 示例

C++中的链表是一种常用的数据结构,它可以方便地进行数据的添加、删除、修改等操作。C++中提供了STL库中的list函数,可以方便地操作单向、双向链表。

list函数是在头文件 中定义的,它有多个成员函数,可以实现链表的插入、删除、查找等操作。常用的成员函数包括:

1. push_back():在链表的末尾添加一个元素。

2. push_front():在链表的开头添加一个元素。

3. pop_back():删除链表的末尾元素。

4. pop_front():删除链表的开头元素。

5. insert():在指定位置插入元素。

6. erase():删除指定位置的元素。

7. clear():删除链表中的所有元素。

接下来我们通过示例来了解如何使用list函数:

#include <iostream>
#include <list>
using namespace std;
int main() {
  // 定义一个list链表
  list<int> mylist;
  // 在链表末尾添加元素
  mylist.push_back(3);
  mylist.push_back(4);
  mylist.push_back(5);
  // 在链表开头添加元素
  mylist.push_front(2);
  mylist.push_front(1);
  // 遍历链表并输出链表中的元素
  list<int>::iterator it;
  for (it = mylist.begin(); it != mylist.end(); ++it) {
    cout << *it << " ";
  }
  cout << endl;
  // 删除链表末尾的元素
  mylist.pop_back();
  // 删除链表开头的元素
  mylist.pop_front();
  // 在指定位置插入元素
  it = mylist.begin();
  ++it;
  mylist.insert(it, 8);
  // 删除指定位置的元素
  it = mylist.begin();
  ++it;
  mylist.erase(it);
  // 遍历链表并输出链表中的元素
  for (it = mylist.begin(); it != mylist.end(); ++it) {
    cout << *it << " ";
  }
  cout << endl;
  // 清空链表中的所有元素
  mylist.clear();
  // 判断链表是否为空
  if (mylist.empty())
    cout << "list is empty" << endl;
  
  return 0;
}

以上代码中,我们定义了一个list链表并添加了几个元素。接着,我们使用迭代器对链表进行遍历,并输出链表中的元素。然后,我们使用pop_back()和pop_front()函数分别删除链表的末尾元素和开头元素。接着,我们使用insert()和erase()函数分别在指定位置插入元素和删除指定位置的元素。最后,我们使用empty()和clear()函数分别判断链表是否为空并清空链表中的所有元素。

综上,C++中的list函数是一种非常方便的数据结构,它可以方便地进行链表的操作。我们可以利用list函数实现各种链表应用的需求。

  
  

评论区