标签:
原文地址:http://www.cnblogs.com/mcgrady/p/3213289.html
上一篇总结完了线性表之链表,这一篇文章我们要总结的是栈,我想从以下几个方面来进行总结。
1,什么是栈?
2,栈的存储结构?
3,栈的常见操作及代码实现?
首先栈是一种特殊的线性表。那它的特殊性表现在哪里呢?栈是限定在表的一端进行插入和删除运算的线性表,因此,栈也称为后进先出(LIFO)的线性表。
它有很多应用场景,比如食堂中的一叠盘子,我们只能从顶端一个一个地取。
1,初始化
实现思路:用指定大小的length实例化一个SeqStack<T>,然后使top指针指向-1。
2,进栈
实现思路:将top指针加1,然后将新结点插入到top指针指向的位置。
3,出栈
实现思路:消灭top指向的结点,并使top指针减1。
4,获取栈顶元素
实现思路:与出栈相似,只是不改变栈的状态而已。
5,判断是否栈空
实现思路:如果top指针是否等于-1,如果是则返为空栈。
6,判断是否栈满
实现思路:检查top指针的值是否等于数组的长度,如果是则为栈满。
代码实现:
标签:
原文地址:http://www.cnblogs.com/losing-1216/p/4965066.html