问答题
已知一双向循环链表,从第二个结点至表尾递增有序(设a
1
<x<a
n
)(x是第一个结点的值, “第二个结点至表尾”指a
1
…a
n
,因篇幅所限,编者略去图)。试编写程序,将第一个结点删除并插入表中适当位置,使整个链表递增有序。【南京航空航天大学1998八(10分)】
【正确答案】正确答案:将第一个结点先从链表中摘下,查找插入位置。核心语句段如下:s=1a://s暂存第一结点的指针,链表无头结点 p=la一>next; P一>prior=la一>prior;P一>prior一>next=p;la=p; //8第一结点摘下 while(p一>datanext ; //查插入位置 s一>next=p;s一>prior=p一>prior;P一>prior一>next=s;P一>prior=s; //插入碌第一结点、S
【答案解析】