单链表基本运算
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void ListInsert_L(LinkList &L,int e);
void ListTravel(LinkList &L);
void Topdellist(LinkList &L);
void ListInsert_L(LinkList &L,int e){
LNode *p;
p=new LNode;
p->data =e;
p->next = L->next;
L->next=p;
}
void ListTravel(LinkList &L){
LinkList p;
p=L->next;
while (p){
printf("%d ",p->data);
p=p->next;
}
if(L->next!=NULL)
printf("\n");
}
void Topdellist(LinkList &L){
int j;
LinkList p;
ListTravel(L);
for(j=0;j<5;j++){
p=L;
p=p->next;
L->next=p->next;
free(p);
ListTravel(L);
}
if(j==5) printf("empty list!");
}
int main(){
int i,e;
LNode *s;
LinkList L;
L=(LinkList)malloc(sizeof(LNode));
L->next = NULL;
for(i=0;;i++){
printf("请输入要插入的数:");
scanf("%d",&e);
if(e==0)
break;
else
ListInsert_L(L,e);
}
Topdellist(L);
return 0;
}