#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
void TypeinElem(LinkList &L){
int x;
L=(LinkList)malloc(sizeof(LNode));
LNode *s,*r=L;
scanf("%d",&x);
while(x!=9){
s=(LNode*)malloc(sizeof(LNode));
s->data=x;
r->next=s;
r=s;
scanf("%d",&x);
}
r->next=NULL;
}
void Del_a_b(LinkList &L,int a,int b){ //删除无序链表中给定的两个值之间的元素
LNode *p=L->next,*r=L;
while(p){
if(p->data>a&&p->data<b){
r->next=p->next;
free(p);
p=r->next;
}else{
r=p;
p=p->next;
}
}
}
void PrintList(LinkList &L){
printf("现在该链表为:");
LNode *s=L->next;
while(s){
printf("%d",s->data);
s=s->next;
}
printf("\n");
}
int main(){
LinkList L;
TypeinElem(L);
PrintList(L);
Del_a_b(L,2,5);
PrintList(L);
}
王道数据结构P40.07
最新推荐文章于 2024-05-20 21:44:54 发布