//结点结构
typedef struct Node{
int data;
Node *next;
}LinkList;
//删除结点
void DeleteNode(LinkList *L,int data)
{
LinkList *p,*p1;
p=L;
p1=p->next;
if(!p1){
printf("LinkList Empty");
exit(1);
}
while(p1){
if(p1->data==data){
p->next =p1->next;
free(p1);
printf("Delete A Node Successfully");
exit(0);
}
else{
p=p->next;
p1=p1->next;
}
}
if(!p){
printf("No find The Node");
exit(1);
}
}
//插入结点
void InsertNode(LinkList *L,int data)
{
LinkList *p,*p1;
p=L->next;
p1=(LinkList *)malloc(sizeof(LinkList));
if(!p1){
printf("Erro!");
exit(0);
}
p1->data=data;
p1->next=NULL;
//链表为空
if(!p){
L->next=p1;
exit(0);
}
//链表不为空
while(p){
if(data>p->data){
p1->next=p->next;
p->next=p1;
exit(0);
}
else
p=p->next;
}
}//链表均带头结点