当前位置:首页 C++ > 正文

C++STL模板之单向链表的插入和删除元素、清空链表、链表的大小和空检查

作者:野牛程序员:2023-09-13 10:43:29 C++阅读 2722

单向链表的插入和删除元素、清空链表、链表的大小和空检查的相关操作可以使用C++98语法来实现。以下是每个操作的示例:

  1. 单向链表的插入和删除元素:

#include <iostream>
#include <forward_list>

int main() {
    std::forward_list<int> myList;

    // 插入元素到链表头部
    myList.push_front(10);
    myList.push_front(20);

    // 遍历链表并打印元素
    std::cout << "链表内容:";
    for (std::forward_list<int>::iterator it = myList.begin(); it != myList.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;

    // 在指定位置插入元素
    std::forward_list<int>::iterator insertPos = myList.begin();
    ++insertPos; // 移到第二个元素
    myList.insert_after(insertPos, 25);

    // 删除元素(删除第一个元素)
    myList.pop_front();

    // 遍历链表并打印元素
    std::cout << "链表内容:";
    for (std::forward_list<int>::iterator it = myList.begin(); it != myList.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;

    return 0;
}
  1. 清空链表:

#include <iostream>
#include <forward_list>

int main() {
    std::forward_list<int> myList = {10, 20, 30};

    // 清空链表
    myList.clear();

    // 检查链表是否为空
    if (myList.empty()) {
        std::cout << "链表为空" << std::endl;
    }

    return 0;
}
  1. 链表的大小和空检查:

#include <iostream>
#include <forward_list>

int main() {
    std::forward_list<int> myList = {10, 20, 30};

    // 获取链表的大小
    int size = 0;
    for (std::forward_list<int>::iterator it = myList.begin(); it != myList.end(); ++it) {
        size++;
    }

    // 检查链表是否为空
    bool isEmpty = (size == 0);

    // 打印链表的大小和是否为空
    std::cout << "链表大小:" << size << std::endl;
    std::cout << "链表是否为空:" << (isEmpty ? "是" : "否") << std::endl;

    return 0;
}

这些示例演示了如何在C++98中执行单向链表的插入和删除元素、清空链表、以及链表的大小和空检查操作。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击