#include <stdio.h>
#include <stdlib.h>
typedef struct Num //结构体的声明
int data;
struct Num *next;
}Num;
Num * createlink(int len) //链表创建函数
{
Num *p = (Num *)malloc(sizeof(Num));
Num *head=p;
int i=0;
p->data=i+1;
p->next=NULL;
while (i<len-1)
{
i++;
p->next=(Num *)malloc(sizeof(Num));
p->next->data=i+1;
p->next->next=NULL;
p=p->next;
}
return head;
}
void printlink(Num *p) //链表输出函数
{
while (p!=NULL)
{
printf("%d\n",p->data);
p=p->next;
}
}
void freelink(Num *p) //链表释放函数
{
Num *q;
while (p!=NULL)
{
printf("%d\n",p->data);
q=p->next;
free(p);
p=q;
}
}
int main(void)
{
int i;
printf("请输入要创建的链表的长度:");
scanf("%d",&i);
Num *p=createlink(i);
printlink(p);
freelink(p);
return 0;
}