#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
LinkList Create();
void print(LinkList L);
void deletetail ( LinkList L);
int main()
{
LinkList L = Create();
print(L);
printf("\n");
deletetail(L);
print(L);
return 0;
}
LinkList Create()
{
LinkList L,p,s;
ElemType e;
L = (LinkList)malloc(sizeof(LNode));
p=L;
scanf("%d",&e);
while(e!=-1)
{
s = (LinkList)malloc(sizeof(LNode));
s->data=e;
p->next = s;
p=s;
scanf("%d",&e);
}
p->next=NULL;
return L;
}
void print(LinkList L)
{
LinkList p;
p=L->next;
while (p)
{
printf("%d ", p->data);
p =p->next;
}
}
void deletetail(LinkList L)
{
LinkList p = L;
LinkList q = L;
while(p->next != NULL)
{
q = p;
p = p->next;
}
free(p);
q->next = NULL;
}
供参考:
// 请在这里填写答案
void deletetail ( LinkList L)
{
LinkList p = L , pre = NULL;
while (p->next) {pre = p; p = p->next;}
if (pre){
pre->next = NULL;
free(p);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!