21xrx.com
2025-04-03 15:35:02 Thursday
文章检索 我的文章 写文章
如何获取C++链表的长度
2023-06-24 19:32:49 深夜i     84     0
C++ 链表 长度 获取

在C++中,链表是一种非常常用的数据结构。链表由许多节点组成,每个节点都包含数据以及指向下一个节点的指针。在许多情况下,我们需要获得链表的长度。本文将介绍如何获取C++链表的长度。

第一种方法:使用while循环

这是最常用的方法。我们可以遍历链表,每遍历一个节点,长度加1。代码如下:

int getListLength(Node* head) {
  int length = 0;
  Node* current = head;
  while (current != NULL) {
    length++;
    current = current->next;
  }
  return length;
}

在这个代码中,我们首先将长度初始化为0,然后使用一个指针(current)指向链表的头部(head)。我们使用while循环遍历链表,每次遍历将长度加1,然后跳到下一个节点。当current指向NULL时,说明链表已经遍历完了,此时返回长度。

第二种方法:使用递归

使用递归也可以计算链表的长度。下面是实现代码:

int getListLength(Node* head) {
  if (head == NULL)
    return 0;
  
  return 1 + getListLength(head->next);
}

在这个代码中,如果head指向NULL,说明已经到达链表末尾。此时返回0。否则,计算剩余部分的长度,并将计算结果加上1。

总结:

以上两种方法都是可以计算C++链表长度的经典方法。使用while循环可以遍历整个链表,并计算长度,适合链表较短的情况。递归方法简单明了,适合链表较长的情况。无论是哪种方法,能够长时间运行并能够得到正确的结果。

  
  

评论区

请求出错了