21xrx.com
2024-11-05 17:21:34 Tuesday
登录
文章检索 我的文章 写文章
如何使用C++建立链表?
2023-07-09 13:54:02 深夜i     --     --
C++ 链表 建立

链表是一种数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。C++是一种支持动态内存分配的编程语言,因此它非常适合构建链表数据结构。在本文中,我们将介绍如何使用C++建立链表。

首先,需要定义一个链表节点的结构体。这个结构体包含两个成员变量,分别是数据和指向下一个节点的指针。


struct Node {

 int data;

 Node* next;

};

接下来,需要定义一个链表类。链表类包括一些成员函数,例如添加节点、删除节点和打印链表等。


class LinkedList {

public:

 LinkedList();

 ~LinkedList();

 void add(int data);

 void remove(int data);

 void print();

private:

 Node* head;

};

在链表类的构造函数中,需要将链表头指针初始化为nullptr。


LinkedList::LinkedList()

 head = nullptr;

在添加节点的成员函数中,需要先创建一个新节点,然后将新节点的指针指向链表中的第一个节点。最后,将链表头指针指向新节点。


void LinkedList::add(int data) {

 Node* newNode = new Node;

 newNode->data = data;

 newNode->next = head;

 head = newNode;

}

在删除节点的成员函数中,需要先找到要删除的节点。然后需要修改前一个节点的指针,使其指向要删除节点的下一个节点。最后,需要释放要删除节点的内存。


void LinkedList::remove(int data) {

 Node* current = head;

 Node* previous = nullptr;

 while (current != nullptr) {

  if (current->data != data)

   previous = current;

   current = current->next;

   else {

   if (previous == nullptr)

    head = current->next;

    else

    previous->next = current->next;

   

   delete current;

   break;

  }

 }

}

在打印链表的成员函数中,需要从链表头开始,遍历整个链表并打印每个节点的数据。


void LinkedList::print() {

 Node* current = head;

 while (current != nullptr)

  cout << current->data << " ";

  current = current->next;

 

 cout << endl;

}

有了上述代码组成的链表类和节点结构体,就可以在C++中轻松地建立链表了。通过创建链表对象并调用链表成员函数,可以实现链表的添加、删除和打印等常见操作。

  
  

评论区

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