编写一个程序,要求:从终端输入一组整数(大于10个数),以0作为结束标志,将这一组整数,存放在一个链表中(结束标志0不包括在内),打印出该链表中的值。然后删除该链表中的第五个元素,打印出删除后的结果。最后在内存中释放掉该链表;
程序清单:
#include
#include
/*****************************************************************
* 把一组数(大于10个)存到一个链表中,以0为结束标志,链表里不包含0
* 打印链表中的值
* 删除该链表中的而第五个元素
* 打印删除后的结果
* 销毁链表
*****************************************************************/
typedef struct Node
{
int date;
struct Node *next;
}Node , *LinkList;
/
//创建一个链表
LinkList creatlinklist(int n)
{
LinkList New_node , Tail_node;
LinkList Head_node = NULL;
int c;
for (size_t i = 1; i < n; i++)
{
printf("请输入第%d个节点存入的数据:",i);
scanf("%d",&c);
if (c!=0)
{
New_node = (LinkList)malloc(sizeof(Node));
New_node->date = c;
New_node->next = NULL;
if (Head_node==NULL)
{
Head_node = New_node;
}else
{
Tail_node->next = New_node;
}
Tail_node = New_node;
}else
{//如果输入中出现0,结束链表的数据读取
return Head_node;
}
}
return Head_node;
}
//删除链表中的某个元素
void deletlinklist(LinkList *List , int n)
{
LinkList dele_node = *List;
for (size_t i = 1; i
{