Position Find( List L, ElementType X ){
List p=L;
while(p){
if(p->Data==X)
break;
p=p->Next;
}
if(!p)
return ERROR;
else
return p;
}
List Insert( List L, ElementType X, Position P ){
List q=(List)malloc(sizeof(struct LNode)),p=L;
q->Data=X;
if(P==L){
q->Next=L;
L=q;
}
else{
while(p){
if(p->Next==P)
break;
else
p=p->Next;
}
if(p){
q->Next=p->Next;
p->Next=q;
}
else{
printf("Wrong Position for Insertion\n");
L=ERROR;
}
}
return L;
}
List Delete( List L, Position P ){
if(L==NULL)
return ERROR;
if(L==P)
return L->Next;
List p=L,pre=NULL;
while(p){
if(p==P)
break;
pre=p;
p=p->Next;
}
if(p){
pre->Next=p->Next;
}
else{
printf("Wrong Position for Deletion\n");
L=ERROR;
}
return L;
}
6-5 链式表操作集 (20 分)
最新推荐文章于 2023-05-23 09:00:39 发布