21xrx.com
2024-12-22 21:03:02 Sunday
登录
文章检索 我的文章 写文章
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函数实现各种链表应用的需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复