21xrx.com
2024-11-22 06:40:56 Friday
登录
文章检索 我的文章 写文章
C++ 如何创建一个单链表
2023-07-05 11:56:53 深夜i     --     --
C++ 单链表 创建

C++是一门高级编程语言,它支持动态内存分配和垃圾回收,因此在C++中创建一个单链表非常容易。

单链表是由多个节点组成的数据结构,在C++中,可以使用class或struct来定义一个节点。每个节点都包含两个成员变量,分别是存储数据的数据成员和指向下一个节点的指针成员。

使用C++创建单链表的第一步是定义一个节点类。


class Node{

public:

  int data;

  Node* next;

};

上面的代码定义了一个Node类,每个节点都包含两个成员变量,一个是存储数据的data,另一个是指向下一个节点的指针next。

接下来,定义一个单链表类。


class LinkedList {

private:

Node* head;

public:

LinkedList()

head = nullptr;

/*其他方法*/

};

这个类包含一个私有成员head表示链表的头节点。构造函数初始化head为nullptr,表示链表为空。

接下来,我们需要在链表中添加节点。


void LinkedList::addNode(int data) {

Node* newNode = new Node;

newNode->data = data;

newNode->next = nullptr;

if (head == nullptr)

head = newNode;

else {

Node* curNode = head;

while (curNode->next != nullptr)

curNode = curNode->next;

curNode->next = newNode;

}

}

上面的代码定义了一个addNode方法,用于向链表中添加节点。每次添加节点时,先创建一个新节点,然后将新节点的数据赋值为参数data,并将指针成员next初始化为nullptr。然后,判断链表是否为空,如果是则将新节点作为头节点,否则遍历链表直到找到尾节点,将尾节点的指针成员next指向新节点。

接下来,我们需要实现一个遍历链表的方法。


void LinkedList::displayList() {

Node* temp = head;

while (temp != nullptr)

cout << temp->data << " ";

temp = temp->next;

}

上面的代码实现了一个displayList方法,用于遍历链表并输出各个节点的数据。

最后,我们需要在main函数中测试链表。


int main() {

LinkedList list;

list.addNode(1);

list.addNode(2);

list.addNode(3);

list.displayList();

return 0;

}

上面的代码创建了一个名为list的LinkedList对象,并向链表中添加了三个节点。然后,调用displayList方法遍历链表并输出各个节点的值。

以上就是在C++中创建单链表的方法,节点的定义应根据实际需要进行更改。

  
  

评论区

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