[说明] 若s和t是用单链表存储的两个串,设计一个函数将s串中首次与串t匹配的字串逆置。
linkstring * invert - substring ( s, t)
linkstring * s, * t;
linkstring *prior, *p, *t1, *r, *q, *u;
prior =s;
p=s;
t1 =t;
if ( (1) ) printf ( "error\n") ;
else
while p ! = NULL && t1! = NULL)
if ( p- >data = = t1 - >data)
p = p- >link;
t1 = t1- >link;
else
(2)
p = prior - > link;
t1 = t- >link;
if ( t1 ! : NULL) printf ("cannot find");
else
(3)
r = q- >link;
q- >link = p;
while (r ! = p)
u = r- >link;
(4)
q=r;
r = u;
(5)