数据结构与算法(六)栈

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwl2014100338/article/details/84525762

(1)栈是一种“操作受限”的线性表,只允许在一端插入和删除数据

(2)特定的数据结构是对特定场景的抽象,数组或链表暴露了太多的操作接口,操作上灵活自由,但使用时就比较不可控,自然也就更容易出错


如何实现一个“栈”

(1)数组实现的顺序栈

(2)链表实现的链式栈


支持动态扩容的顺序栈

(1)基于数组实现一个支持动态扩容的栈
在这里插入图片描述


栈在函数调用中的应用

比较经典的应用场景是函数调用栈


栈在表达式求值中的应用

应用场景:编译器如何利用栈实现表达式求值


猜你喜欢

转载自blog.csdn.net/lwl2014100338/article/details/84525762
今日推荐