单选题 设rear是指向非空的带表头结点的单循环链表的链尾结点的指针。若想删除链表第一个结点,则应执行______操作。
  • A.s=rear;rear=rear→next;free(s);
  • B.rear=rear→next;free(rear);
  • C.rear=rear→next→next;free(rear);
  • D.s=rear→next→next;rear→next→next=s→next;free(s);
【正确答案】 D
【答案解析】[解析] 假设指向链表尾部的指针为rear。要删除第一个结点,必须先将表头结点的后继结点地址s=rear→next→next保存,然后才能进行新的链接操作,让s的后继链接到表头结点之后rear→next→next=s→next,最后进行删除仔ee(s)。