
正文
Python怎么用链实现栈,pytho链表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
栈往往用单链表实现,可以用双链表吗?哪个更好?
1、与单链表相比,双链表的优点之一包括双向性、插入和删除操作更高效或内存利用率更高。双向性:双链表支持在每个节点上存储前驱节点和后继节点的指针,使得在任何节点上都可以方便地找到其前驱节点和后继节点。
2、双向链表:从双向链表中的任意一个结点开始,都可以很方便地访问前驱结点和后继结点。
3、指向不同:单向链表只有一个指向下一结点的指针,双向链表除了有一个指向下一结点的指针外,还有一个指向前一结点的指针。 功能不同:单向链表只能next ,双向链表可以return。
4、【答案】:D 双链表的结点里不仅有指向后继结点的指针还有指向前驱结点的指针,所以双链表在顺序访问时比单链表灵活。
相关问答
Q1: 借助栈实现单链表上的逆置运算
1、} 现在可以在nizhi()函数中生成逆序节点。但是不能保存到原链表中去,那样就会覆盖原先节点的值。
2、下面这个程序是通过栈对顺序表(数组)逆置,你只要把它改为链表的就行了。
3、push(head);这里错了。首先head是一个空节点,里面什么都没装,只是为了标记链表的头。head-num没有被给值。输入的5个数是从head-next-num开始记录的。
Q2: 向一个栈顶指针为HS的链式栈中插入一个s所指的结点时,则执行?
因为HS当前指向栈顶元素,如果先HS-next =s; 则原来的栈顶元素的next指针就指向s了。
【答案】:D 本题实际上考查的是在一个链表的头结点后插入一个新结点的操作,因此如果熟练掌握了链表的插入操作,本题是比较容易的。由于该链栈是带头结点的,因此h指向的为头结点。
【答案】:C 链栈采用不带头结点的单链表表示时,进栈操作在首部插入一个结点x(即x-next=top),插入完后需将top指向该插入的结点x。请读者思考当链栈存在头结点时的情况。
现在要把s指向的结点插入到p指向结点的后方,使其加入到单向链表中,其过程可以参考下图。步骤一:步骤二:步骤三:最后,把链表拉直,可以看到,已经完成插入操作,如下图。图片有点小,将就看吧。
q=q-next;}//循环结束时q后面正好zhi是需要找的dp或者q为空表示链版表中没有权p if (q){ s=new node;s-data =e;q-next = s;s-next = p;} q-next表示结点中存放的指针,该指针用来指向某个结点。
Python怎么用链实现栈的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于pytho链表、Python怎么用链实现栈的信息别忘了在本站进行查找喔。








