首页 > 试题广场 >

若想删除链表的第一个结点,则应执行下列哪一个操作?( )

[单选题]

设单循环链表中结点的结构为(data, link),且rear是指向非空的带表结点的单循环链表的尾结点的指针。若想删除链表的第一个结点,则应执行下列哪一个操作?(   )

  • s=rear; rear=rear->link; delete s;
  • rear=rear->link; delete rear;
  • rear=rear->link->link; delete rear;
  • s=rear->link=>link; rear->link->link=s->link; delete s;
d “rear是指向非空的带表头结点的线性循环链表尾结点的指针” 首先,如无表头结点,并 head 指向第一个结点: s = head; head = head->link; free(s); 其次,如有表头结点,并 head 指向表头结点,那麽: s = head->link; head->link = s->link; free(s); 然后,因为 rear 指向‘循环’链表的‘尾’结点,所以: s = rear->link->link; rear->link->link = s->link; free(s); (D)
发表于 2017-03-26 23:32:16 回复(0)