#include<stdio.h>
#include<stdlib.h>
typedef struct student
{
int num;
struct student *next;
}Lstudent,*LPstudent;
void InitLink(LPstudent *phead)
{
Lstudent *ptr,*r;
*phead=NULL;
//-----------------------------------------------
ptr=malloc(sizeof(Lstudent));
*phead=ptr;
ptr->next=NULL;
//------------------------------------------------
int n;
printf("please input number of student:\n");
scanf("%d",&n);
while(n>0)
{
ptr=malloc(sizeof(Lstudent));
ptr->num=n;
ptr->next=NULL;
if((*phead)->next==NULL)///
(*phead)->next=ptr;//
else
r->next=ptr;
r=ptr;
printf("please input number of student:\n");
scanf("%d",&n);
}
}
void printf_link(Lstudent *ptri)
{
ptri=ptri->next;/
while(ptri!=NULL)
{
printf("%d ",ptri->num);
ptri=ptri->next;
}
}
unsigned int ListLength(Lstudent *ptr)
{
unsigned int l=0;
ptr=ptr->next;//带头结点
while(ptr!=NULL)
{
l++;
ptr=ptr->next;
}
return l;
}
int main()
{
LPstudent head;
InitLink(&head);
printf_link(head);
unsigned int a=ListLength(head);
printf("%u\n",a);
}
计算链表长度
最新推荐文章于 2025-03-01 11:59:21 发布