std::list双向列表

104 阅读1分钟

在 C++ 中,可以使用标准库中的 std::list 容器来实现双端链表。std::list 是一个双向链表,支持在任意位置进行快速插入和删除操作。以下是一个简单的示例演示如何使用 std::list

#include <iostream>
#include <list>

int main() {
    // 创建一个双端链表
    std::list<int> myList;

    // 在链表尾部插入元素
    myList.push_back(1);
    myList.push_back(2);
    myList.push_back(3);

    // 在链表头部插入元素
    myList.push_front(0);

    // 打印链表中的元素
    std::cout << "List elements: ";
    for (auto num : myList) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 移除链表头部和尾部元素
    myList.pop_front();
    myList.pop_back();

    // 再次打印链表中的元素
    std::cout << "List elements after popping: ";
    for (auto num : myList) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在这个示例中,我们首先创建了一个 std::list<int> 类型的双端链表 myList。然后,使用 push_back() 在链表尾部插入元素 1、2 和 3,使用 push_front() 在链表头部插入元素 0。之后,打印链表中的所有元素,并使用 pop_front()pop_back() 移除链表头部和尾部的元素。最后,再次打印链表中的所有元素。

std::list 提供了丰富的操作接口,可以快速进行双端链表的操作,包括插入、删除、查找等。