#include <stdio.h>
#include <stdlib.h>
struct Student
{
int data;
struct Student * next;
};
struct Student * Create_list(); //创建链表函数
void Delete_list(struct Student *);//输出链表函数
int main()
{
struct Student * phead;
phead = Create_list();
Delete_list(phead);
return 0;
}
struct Student * Create_list()
{
struct Student * phead, *pend, *pnew;
phead = (struct Student *)malloc(sizeof(struct Student));
if(phead == NULL)
{
printf("内存分配失败!\n");
exit (EXIT_FAILURE); //返回非0值
}
pend = phead;
pend->next = NULL;
do
{
pnew = (struct Student *)malloc(sizeof(struct Student));
if(pnew == NULL)
{
printf("内存分配失败!\n");
exit (EXIT_FAILURE);
}
printf("请输入数据(输入0时退出输入):");
scanf("%d", &pnew->data);
if(pnew->data != 0)
{
pend->next = pnew;
pend = pnew;
pend->next = NULL;
}
}while(pnew->data != 0);
free(pnew); //释放刚才创建的空间,因为它的值为零
return phead;
}
void Delete_list(struct Student *phead)
{
phead = phead->next;
while(phead)
{
printf("%d\n", phead->data);
phead = phead->next;
}
}
链表的创建
最新推荐文章于 2023-06-01 16:24:00 发布