您的位置:首页 > 其它

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

2015-12-11 22:59 155 查看

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

最近忙于考试,刷题倒是耽搁了,今天一个学弟问到关于返回一个呆头结点的单链表的长度问题,想了下,就花了点时间写了下。

#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;
}


这里部分代码只是带头节点单链表的创建与返回长度的代码部分,因为得复习考试,下次再回头来补齐单链表的基本操作:删除、插入数据、修改链表值等操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: