码迷,mamicode.com
首页 > 其他好文 > 详细

【转】基础知识系列3--栈(代码还未写)

时间:2015-11-14 21:51:46      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:

原文地址:http://www.cnblogs.com/mcgrady/p/3213289.html

 

上一篇总结完了线性表之链表,这一篇文章我们要总结的是栈,我想从以下几个方面来进行总结。

1,什么是栈? 
2,栈的存储结构? 
3,栈的常见操作及代码实现?

 

1.什么是栈

首先栈是一种特殊的线性表。那它的特殊性表现在哪里呢?栈是限定在表的一端进行插入和删除运算的线性表,因此,栈也称为后进先出(LIFO)的线性表。

它有很多应用场景,比如食堂中的一叠盘子,我们只能从顶端一个一个地取。

 

2.栈的存储结构

技术分享

 

3.栈的常见操作和代码实现

1,初始化

实现思路:用指定大小的length实例化一个SeqStack<T>,然后使top指针指向-1。

2,进栈

实现思路:将top指针加1,然后将新结点插入到top指针指向的位置。

3,出栈

实现思路:消灭top指向的结点,并使top指针减1。

4,获取栈顶元素

实现思路:与出栈相似,只是不改变栈的状态而已。

5,判断是否栈空

实现思路:如果top指针是否等于-1,如果是则返为空栈。

6,判断是否栈满

实现思路:检查top指针的值是否等于数组的长度,如果是则为栈满。

 

代码实现:

 

【转】基础知识系列3--栈(代码还未写)

标签:

原文地址:http://www.cnblogs.com/losing-1216/p/4965066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!