计算单链表的长度。
作者:InfoQ IT百科
- 2022 年 4 月 24 日
本文字数:573 字
阅读完需:约 2 分钟
下面使用 C 语言实现链表数据结构和计算链表的长度。
如何计算单链表的长度。可以参考下面使用 C 语言实现链表数据结构和计算链表的长度。
#include <iostream> using namespace std; // 定义链表节点的数据结构struct Node{ int value; Node* next;}; // 创建一个长度为 len 的链表Node* create_list(int v, int len){ Node* ret = NULL; Node* slider = NULL; for(int i=0; i<len; i++) { Node* n = new Node(); n->value = v++; n->next = NULL; if(slider == NULL) { slider = n; ret = n; } else { slider->next = n; slider = n; } } return ret; } // 计算链表长度的递归实现int listLength(Node* list){ if(list == NULL) return 0; else return 1 + listLength(list->next);} // 计算链表长度的非递归实现int listLength_non(Node* list){ int n = 0; while(list) { n++; list = list->next; } return n;}
// 测试代码int main(){ Node* list = create_list(1, 7); print_list(list); cout << listLength_non(list) << endl; return 0;}复制代码
划线
评论
复制
发布于: 刚刚阅读数: 2
InfoQ IT百科
关注
还未添加个人签名 2021.04.12 加入
还未添加个人简介










评论