写点什么

计算单链表的长度。

作者: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;}
复制代码


用户头像

还未添加个人签名 2021.04.12 加入

还未添加个人简介

评论

发布
暂无评论
计算单链表的长度。_InfoQ IT百科_InfoQ写作社区