单链表之创建与求单链表的长度

来源:互联网 发布:qq赚钱软件 编辑:程序博客网 时间:2024/06/05 17:56

单链表之创建与求单链表的长度

  • 最近忙于考试,刷题倒是耽搁了,今天一个学弟问到关于返回一个呆头结点的单链表的长度问题,想了下,就花了点时间写了下。
#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct Node{    ElemType data;    struct Node *next;} LNode,*LinkList;void create(LinkList L)//建立一个带头结点的单链表{    int n;    LinkList p,q;    p=L;    printf("请输入数据元素个数和这些数据:\n");    scanf("%d",&n);    while(n--)    {        q=(LinkList)malloc(sizeof(LNode));        scanf("%d",&q->data);        q->next=NULL;        p->next=q;        p=q;    }}void lengths(LinkList L)//计算单链表的长度,然后输出单链表{    int num=0;    LinkList p;    p=L->next;    while(p)    {        num++;        p=p->next;    }    printf("\n长度为%d:\n",num);}int main(){    LinkList L,p;    L=(LinkList)malloc(sizeof(LNode));    L->next=NULL;    L->data=-1;    create(L);    lengths(L);    return 0;}

这里部分代码只是带头节点单链表的创建与返回长度的代码部分,因为得复习考试,下次再回头来补齐单链表的基本操作:删除、插入数据、修改链表值等操作。

0 0
原创粉丝点击