21xrx.com
2025-03-31 17:47:03 Monday
文章检索 我的文章 写文章
C++ 如何创建一个单链表
2023-07-05 11:56:53 深夜i     19     0
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++中创建单链表的方法,节点的定义应根据实际需要进行更改。

  
  

评论区

请求出错了