设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性表。
LinkList mynote(LinkList L){//L是不带头结点的单链表的头指针
if(L&&L->next){
q=L;L=L->next;p=L;
S1: while(p->next) p=p->next;
S2: p->next=q;q->next=NULL;
}
return L;
}
---------------------
答案是(a2,a3,….an,a1),我不理解答案为什么会是这个,首先经过s1运算,p应该指向最后一个an,经过s2,将q,也就是L插到p->next,那答案应该是an,a1。望前辈指点错误和教我理解。