21xrx.com
2024-12-27 22:19:51 Friday
登录
文章检索 我的文章 写文章
C++单链表的创建
2023-07-04 20:10:19 深夜i     --     --
C++ 单链表 创建

单链表是一种常见的数据结构,它通过一系列节点来存储数据。每个节点包含一个数据项和一个指向下一个节点的指针,可以方便地实现插入和删除操作。C++语言在定义单链表时提供了方便的类模板,使开发者可以轻松创建一个单链表。

单链表的创建思路非常简单,首先需要先定义一个节点结构体,包含两个成员变量,分别记录当前节点的数据项和指向下一个节点的指针。接着定义一个链表类,其中成员变量包含头指针和尾指针,头指针指向链表中的第一个节点,尾指针则指向链表中的最后一个节点。

在创建单链表的过程中,用户可以通过向链表中插入节点来逐个构建链表。这需要创建一个指向新节点的指针,并确定新节点的数据项。接着需要为新节点设置指针,使新节点链接到链表末尾。

以下是C++单链表的创建代码示例:


#include<iostream>

using namespace std;

template<typename T>

struct Node{//链表节点结构体

T val;//节点数据类型

Node<T>* next = nullptr;//节点指向下一个节点的指针

};

template<typename T>

class List{//链表类

public:

List()//构造函数

head = nullptr;

tail = nullptr;

void add(T val)//添加元素的函数

{

auto new_node = new Node<T>;//新建一个节点

new_node->val = val;//设置节点的值

new_node->next = nullptr;

if (head == nullptr)//空链表

head = new_node;

tail = head;

else//非空链表

tail->next = new_node;

tail = new_node;

}

void print()//遍历链表

{

Node<T>* node = head;

while (node != nullptr)

cout << node->val << " ";

node = node->next;

}

private:

Node<T>* head;//指向头指针的指针

Node<T>* tail;//指向尾指针的指针

};

int main()

{

List<int> list;//创建一个整数类型的链表

list.add(1);//添加元素

list.add(2);

list.add(3);

list.print();//输出链表

return 0;

}

通过以上代码,我们可以看到,C++语言中创建单链表非常方便。开发者只需定义节点结构体和链表类,并实现相应的函数即可创建一个单链表。

  
  

评论区

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