向一个带头结点HS的链栈中插入一个s所指结点时需执行()。
- A.HS->next=s;
- B.s->next=HS->next;HS->next=s;
- C.s->next=HS:HS=s;
- D.s->next=HS;HS=HS->next;
正确答案及解析
正确答案
B
解析
为了将结点s插入到带头结点HS的链栈中,首先需要修改s的指针域,使得s的下一个结点为链栈中的第一个有效结点,即数据域中存放有效数据的结点,该结点可由HS的指针域获得,因此相应的语句为s->next=HS->next,之后使s结点成为链栈中的第一个有效结点,即HS的指针域指向s,相应的语句为HS->next=S。