单链表求表长
Posted treeing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单链表求表长相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode *Node; //定义指向LNode类型的指针Node
struct LNode { //定义节点
int data; //存放数据
Node next; //指向下一指针
};
typedef NodeList;
List init(){
int d; //存放从控制台输入的数值
LNode *q; //定义指针q
List L=(List)malloc(sizeof(LNode)); //向系统申请分配指定LNode个字节的内存空间
L->Next=NULL; //尾指针设为空
while((scanf("%d", &d))!=‘-1‘){ //等待用户输入(-1用于程序终止)
q=(LNode*)malloc(sizeof(LNode)); //继续开辟内存空间
q->data=d; //向节点中data赋值
q->Next=L->Next; //指向下一个节点
L->Next=q; //指向新开辟的节点
}
return L;
}
int ListLength( List L ){
int j=0;
LNode *p;
p=L->Next;
while(p!=NULL)
{
p=p->Next;
j++;
}
return j;
}
int main()
{
List L = init();
printf("%d
", ListLength(L));
return 0;
}
以上是关于单链表求表长的主要内容,如果未能解决你的问题,请参考以下文章