21xrx.com
2024-06-03 01:51:35 Monday
登录
文章检索 我的文章 写文章
C++链表类的实现
2023-07-05 06:03:29 深夜i     --     --
C++ 链表 实现

C++链表是一种常见的数据结构,它的实现是非常重要的。这篇文章将介绍C++链表类的实现。

首先,让我们定义一个节点类。一个节点包含一个数据成员和一个指向下一个节点的指针。代码如下:


class Node {

public:

  int data;

  Node* next;

  Node(int val)

    data = val;

    next = nullptr;

  

};

接下来,我们定义一个链表类。链表类有一个头指针,指向链表的第一个节点。代码如下:


class LinkedList {

public:

  Node* head;

  LinkedList()

    head = nullptr;

  

};

然后,我们实现链表类的插入和删除操作。链表的插入操作将一个节点插入到链表中,而删除操作将一个节点从链表中删除。代码如下:


void LinkedList::insert(int val) {

  Node* newNode = new Node(val);

  if (head == nullptr)

    head = newNode;

  

  else {

    Node* curr = head;

    while (curr->next != nullptr)

      curr = curr->next;

    

    curr->next = newNode;

  }

}

void LinkedList::remove(int val) {

  Node* curr = head;

  Node* prev = nullptr;

  while (curr != nullptr && curr->data != val)

    prev = curr;

    curr = curr->next;

  

  if (curr == nullptr)

    return;

  

  if (prev == nullptr)

    head = curr->next;

  

  else

    prev->next = curr->next;

  

  delete curr;

}

最后,我们实现链表类的遍历操作。遍历操作将遍历链表中的所有节点,并打印它们的值。代码如下:


void LinkedList::traverse() {

  Node* curr = head;

  while (curr != nullptr)

    cout << curr->data << " ";

    curr = curr->next;

  

  cout << endl;

}

到此为止,我们已经实现了一个基本的C++链表类。使用这个类,我们可以轻松地创建、修改和遍历链表。

  
  

评论区

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