21xrx.com
2025-03-29 01:47:52 Saturday
文章检索 我的文章 写文章
C++实现单链表初始化方法
2023-06-24 15:03:52 深夜i     32     0
C++ 单链表 初始化方法

单链表是指通过一个指针将一组具有相同类型的数据结构链接在一起的结构。在 C++ 中,我们可以使用类来实现单链表数据结构。可以通过重载操作符和定义一些函数来实现单链表的各种操作。

当我们创建一个单链表时,首先需要定义一个结构体或类来表示链表的每个节点。每个节点都应该包含一个指向下一个节点的指针和一些数据。例如,对于一个整数型的单链表,我们可以定义一个如下的结构体:

struct ListNode
{
  int data;
  ListNode* next;
};

接下来,我们需要实现一个 `LinkedList` 类来初始化我们的单链表。 在类定义中,我们需要定义一个名为 `head` 的指针,它指向链表的头节点,以及一个 `size` 变量来保存链表的大小。由于是单链表,我们只需要定义一个指针变量即可。

class LinkedList
{
private:
  ListNode* head;
  int size;
public:
  LinkedList() : head(nullptr), size(0) {}
};

接下来,我们需要实现 `push_back` 函数,该函数用于将一个新节点添加到链表末尾。该函数接受一个整数值作为参数,并创建一个新的节点来存储该值。如果链表为空,我们将头节点设置为新节点;否则,我们将遍历链表直到找到最后一个节点,并将该节点的 `next` 指针设置为新节点。

void push_back(int value)
{
  ListNode* new_node = new ListNode;
  new_node->data = value;
  new_node->next = nullptr;
  if (head == nullptr)
    head = new_node;
   else {
    ListNode* current = head;
    while (current->next != nullptr)
      current = current->next;
    
    current->next = new_node;
  }
  size++;
}

最后,在 `main` 函数中,我们可以创建一个 `LinkedList` 对象,并按顺序添加一些节点。当我们要访问节点的数据时,我们只需要遍历链表并访问每个节点的 `data` 属性即可。

int main()
{
  LinkedList list;
  list.push_back(1);
  list.push_back(2);
  list.push_back(3);
  ListNode* current = list.head;
  while (current != nullptr)
    std::cout << current->data << " ";
    current = current->next;
  
  return 0;
}

  
  

评论区

请求出错了