数据结构算法双链表,帮忙解释下

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:46:48
带头结点的双循环链表 L为头结点
void unknown(linklist L){
p=L->next;
q=p->next;
r=q->next;
while(q!=L){
while((p!=L)&&(p->data>q->data))p=p->prior;
q->prior->next=r;
r->prior=q->prior;
q->next=p->next;
q->prior=p;
p->prior->next=q;
p->next=q;
q=r;
p=q->prior;
r=r->next;
}
}
是不是非递减排序,能不能大概分析一下排序原理,并举例解释下
这个算法是不是有问题,至少我看不懂,有几句是按答案填上的,可能答案有问题

这个是选择排序,算法确实有些瑕疵,根本就推不顺,如果把11行p->prior->next=q;改成p->next->prior=q;就差不多了

太难了,你可以试着发到一些专门的网站看能不能解答`