21xrx.com
2024-12-22 23:25:58 Sunday
登录
文章检索 我的文章 写文章
C++循环链表代码
2023-07-04 20:26:38 深夜i     --     --
循环链表 C++ 代码

循环链表是一种特殊的链表,其中最后一个节点指向第一个节点,形成一个循环。C++是一种流行的编程语言,可以使用C++编写循环链表的代码。

下面是一个示例C++循环链表代码:


#include <iostream>

using namespace std;

class Node {

public:

  int data;

  Node* next;

  Node(int x)

    data = x;

    next = NULL;

  

};

class LinkedList {

public:

  Node* head;

  LinkedList()

    head = NULL;

  

  void addNode(int data) {

    Node* newNode = new Node(data);

    if (head == NULL)

      head = newNode;

      head->next = head;

      return;

    

    Node* last = head;

    while (last->next != head)

      last = last->next;

    

    last->next = newNode;

    newNode->next = head;

  }

  void printList() {

    Node* ptr = head;

    do

      cout << ptr->data << " ";

      ptr = ptr->next;

     while (ptr != head);

  }

};

int main() {

  LinkedList list;

  list.addNode(1);

  list.addNode(2);

  list.addNode(3);

  list.printList();

  return 0;

}

在这段代码中,我们首先创建了一个Node类来表示链表的节点。该类具有数据和指向下一个节点的指针。我们还创建了一个LinkedList类来表示循环链表本身。该类具有指向链表头部的指针。

在LinkedList类中,我们实现了两个函数:addNode和printList。addNode函数用于将新节点添加到循环链表的末尾。如果链表为空,我们将新节点设置为链表头部。否则,我们遍历链表,直到找到最后一个节点,然后将其next指针设置为新节点。同时,我们还将新节点的next指针设置为链表头部,以便形成循环。

printList函数用于打印循环链表中的所有元素。我们从链表头部开始,然后遍历链表直到回到链表头部为止。在每个节点,我们打印节点的数据。

在main函数中,我们创建了一个LinkedList实例,然后添加了三个节点。最后,我们调用printList函数,以打印链表中的所有元素。

  
  

评论区

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