【C++操作手册】利用C++内置STL容器实现单链表各种功能定义

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【C++操作手册】利用C++内置STL容器实现单链表各种功能定义

初始化单链表InitList(&L)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {1, 2, 3, 4, 5};
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        cout << *it << '\t';
    }
}

求表长Length(L)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {1, 2, 3, 4, 5};
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        cout << *it << '\t';
    }
    cout << endl;
    cout << "表长度:" << L.size() << endl;
}

按值查找LocateElem(L,e)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {1, 2, 3, 4, 5};
    int key = 2;
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        if (*it == key)
        {
            cout << "找到元素" << endl;
            return 0;
        }
    }
    cout << "未找到元素" << endl;
}

按位查找GetElem(L,i)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {1, 2, 3, 4, 5};
    int pos = 3;
    int i = 0;
    for (list<int>::iterator it = L.begin(); i <= pos && it != L.end(); it++, i++)
    {
        if (i == pos)
        {
            cout << *it << endl;
        }
    }
}

插入操作ListInsert(&L,i,e)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {9, 2, 3, 4, 5};
    int value = 999;
    L.insert(L.begin(), value);
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        cout << *it << '\t';
    }
}

删除操作ListDelete(&L,i,e)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {9, 2, 3, 4, 5};
    L.erase(L.begin());
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        cout << *it << '\t';
    }
}

输出操作PrintList(L)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {9, 2, 3, 4, 5};
    for (list<int>::iterator it = L.begin(); it != L.end(); it++)
    {
        cout << *it << '\t';
    }
}

判空操作Empty(L)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {9, 2, 3, 4, 5};
    cout << L.empty() << endl;
    L.clear();
    cout << L.empty() << endl;
}

销毁操作DestroyList(&L)

#include <iostream>
#include <list>
using namespace std;
int main()
{
    list<int> L = {9, 2, 3, 4, 5};
    cout << &L << endl;
    delete &L;
    cout << &L << endl;
}


目录
相关文章
|
2月前
|
存储 算法 C++
C++ STL 初探:打开标准模板库的大门
C++ STL 初探:打开标准模板库的大门
108 10
|
24天前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
52 4
|
2月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
73 5
|
2月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
63 1
|
2月前
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
2月前
|
存储 编译器 C语言
C++入门2——类与对象1(类的定义和this指针)
C++入门2——类与对象1(类的定义和this指针)
37 2
|
2月前
|
C++
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
54 1
|
2月前
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
59 2
|
2月前
|
算法 数据处理 C++
c++ STL划分算法;partition()、partition_copy()、stable_partition()、partition_point()详解
这些算法是C++ STL中处理和组织数据的强大工具,能够高效地实现复杂的数据处理逻辑。理解它们的差异和应用场景,将有助于编写更加高效和清晰的C++代码。
26 0
|
10天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
24 2