1. 使用列表d模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,h为头指针。链表中各节点已按数据区域中数值的绝对值由小到大排列,如图a所示。现要修改该链表各节点的链接关系,使链表各节点按数据区域中的数值由小到大排列,结果如图b所示。实现该功能的程序段如下,方框中应填入的正确代码为(   )

图 a

图 b

t=h

p=d[h][1]

while p != -1 :

    q=d[p][1]

    p=q

   

d[t][-1]=-1

A. if d[p][0]>0:

d[q][1]=p

d[t][1]=q

else:

d[h][1]=q

h=p

B. if d[p][0]>0:

d[t][1]=q

t=q

else:

h=p

d[p][1]=t

C. if d[p][0]>0:

d[t][1]=p

t=p

else:

d[p][1]=h

h=p

D. if d[p][0]>0:

d[t][1]=q

d[q][1]=p

else:

d[p][1]=h

h=q

【考点】
排序算法及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
单选题 普通
能力提升
变式训练
拓展培优
真题演练
换一批