栈的链式实现可采用与改进的线性表一样有两个指针。分别指向栈底
头节点base和栈顶top节点。保留栈内元素个数变量length。使用常规链接
方法建立的链表,如下图左,在压栈操作时是O(1)速度,但是弹栈操作要
找到top的前驱节点,所以速度是O(n),为了加快弹栈速度可以采用,下图
右边所示存储方案,可以把链表反向链接,这样就可以提高弹栈的速度
了,并且其他性能不变。
3.1.5 栈应用实例
3.1.5.1 进制转换
进制转换是计算机中常用的一种操作,如果将10进制数转换为N进制
的数(保证N小于10)我们常采用除N取余法,通过该方法计算时将第一步
获得的余数和最后一步得到的余数按序列取反。可以将余数存入栈中,遍
历即可得到转换之后的进制。
数据结构第十四节
最新推荐文章于 2024-07-14 09:49:31 发布