算法如下:
status A(LinkedList L) {//L是无表头结点的单链表
if (L&&L->next) {
q=L;L=L->next;p=L;
while (p->next) p=p->next;
p->next=q;q->next=NULL;
}
return OK;
}//A
參考答案:怎么不是算法了呢?算法不一定要很复杂的,只要是确定的解决一个问题的几个步骤就可以了
这个算法用来将一个链表的第一个节点插入尾部:
if (L&&L->next) { //判断是不是只有1个元素
q=L;L=L->next;p=L; //q指向第1个,p指向第2 个
while (p->next) p=p->next; //循环知道p指向尾部元素
p->next=q;q->next=NULL; //将p指向q,q脱离域原第2个元素的关系
}