首页 > 试题广场 >

向一个栈顶指针为hs的链栈中插入一个s结点时,应执行____

[单选题]
向一个栈顶指针为 hs (hs为栈的第一个元素地址)的链栈中插入一个 结点时,应执行______
  • hs->next=s;
  • s->next=hs;   hs=s;
  • s->next=hs->next;hs->next=s;
  • s->next=hs; hs=hs->next;
这题问得不好,如果栈顶指针指的是栈顶元素,就选B,如果指的是栈顶元素的下一个,就是选C。一些书籍也讲过,栈顶指针有这两种可能,前面有道题的答案选的就是C这种栈顶指针
发表于 2017-08-23 20:52:39 回复(5)
往栈中插入数据,栈是向下生长的,由高地址到低地址,所以s节点就是在低地址处,hs指向原栈顶,插入s后,s是新的栈顶,s的地址比原栈顶hs地址低,所以是s->next=hs,最后hs=s更新栈顶指针指向

发表于 2017-08-08 12:22:16 回复(0)
做这种题一定要注意一点,那就是在栈里新插入一个节点,那么这个节点会变成新的栈顶元素,因此最后一步肯定是hs->s,即站定指针指向该节点
发表于 2022-07-21 10:19:46 回复(0)
往栈中插入数据,栈是向下生长的,由高地址到低地址,所以s节点就是在低地址处,hs指向原栈顶,插入s后,s是新的栈顶,s的地址比原栈顶hs地址低,所以是s->next=hs,最后hs=s更新栈顶指针指向
发表于 2021-06-16 12:21:55 回复(0)
链栈顶有没有头结点,不要交代一下吗?
发表于 2017-12-20 23:25:09 回复(1)
关键点在于:链表的头结点是否是存储数据。
发表于 2018-10-09 22:16:55 回复(0)
该链表如果头节点,选C
该链表如果没有头节点,选B
ps:只能默认没有头节点
发表于 2022-11-23 12:26:58 回复(0)
1.连接节点。2.移动栈顶指针
发表于 2022-09-02 08:42:15 回复(0)
未标明是否具有头指针
发表于 2019-03-11 09:43:20 回复(1)
链式存储的栈插入删除在链表头进行
发表于 2021-09-25 21:01:39 回复(0)
栈顶指针指的哪里也没说。
发表于 2018-09-12 19:25:11 回复(0)
c
发表于 2017-11-28 19:33:02 回复(1)
这是没有头结点的链栈
发表于 2023-11-24 10:32:11 回复(0)
可以考虑栈是如何用数组实现的
发表于 2023-09-13 23:17:39 回复(0)
选b啊,不都说了hs是第一个元素地址吗
发表于 2022-10-31 21:09:35 回复(0)
c
发表于 2020-10-16 22:16:01 回复(0)

栈的链接实现

发表于 2019-03-05 11:24:19 回复(0)
P8m7.07ohvy0_x9
发表于 2018-10-08 16:07:28 回复(0)