typedef struct Node
{
ElementType data
;
struct Node
* next
;
} LNode
, * LinkNode
;
Status
reversFromstoe(LinkNode
*L
, int s
, int e
){
if(!(*L
)->next
)
return ERR
;
LinkNode p1
= (*L
);
LinkNode SNode
= NULL, ENode
= NULL, PreSNode
= NULL;
int n
= 0;
while (p1
->next
) {
if(n
== s
-1){
PreSNode
= p1
;
SNode
= PreSNode
->next
;
}
else if(n
== e
)
{
ENode
= p1
;
break;
}
p1
= p1
->next
;
n
++;
}
if(!SNode
|| !ENode
){
return ERR
;
}
PreSNode
->next
= ENode
->next
;
ENode
->next
= NULL;
while (SNode
) {
LinkNode Temp
= SNode
;
SNode
= SNode
->next
;
Temp
->next
= PreSNode
->next
;
PreSNode
->next
= Temp
;
}
return OK
;
}
转载请注明原文地址: https://www.6miu.com/read-5035698.html