上面代码实现了Stack的isEmpty(),isFull(),clear(),push(),pop(),peek()方法。顺序栈,必须要同时检查下溢出(underflow)和上溢出(overflow)。public class Stack { private int[] stack; ...
分类:
编程语言 时间:
2015-10-05 16:50:49
阅读次数:
184
说明:往前学习数据结构,想运行一个完整的顺序栈的程序都运行不了,因为书上给的都是一部分一部分的算法,并没有提供一个完整可运行的程序,听了实验课,自己折腾了一下,总算可以写一个比较完整的顺序栈操作的小程序,对于栈也慢慢开始有了感觉。下面我会把整个程序拆开来做..
分类:
其他好文 时间:
2015-09-21 01:52:00
阅读次数:
714
本组项目针对《数据结构基础系列(3):线性表》中的1-6课:
1 “栈和队列”导学
2 栈的定义
3 栈的顺序存储结构及其基本运算实现
4 栈的链式存储结构及其基本运算的实现
5 栈的应用1-表达式求值
6 栈的应用2-迷宫问题【项目1 - 建立顺序栈算法库】
定义顺序栈存储结构,实现其基本运算,并完成测试。
要求:
1、头文件sqstack.h中定义数据结构并声明用于...
分类:
其他好文 时间:
2015-09-20 10:34:19
阅读次数:
303
本文是针对数据结构基础系列网络课程(3):栈和队列的实现项目。【项目 - 数制转换】 把十进制的整数转换为任一进制数输出。请利用栈设计算法,并实现程序。
提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0,得到的一系列余数的逆序就是转换结果。这里的“逆序”,意味着后产生的余数,会先输出,后进先出,栈的机会来了……
[参考解答]解法:头文件sqstack.h请见[顺序栈...
分类:
其他好文 时间:
2015-09-20 08:09:12
阅读次数:
185
说明:书中已有关于顺序栈的类型定义、栈初始化、入栈操作,显然这些都是比较理论的算法,书中并没有给出一个完整可以执行的例子,这对初学者学习在理解上会有一定的难度,因此,需要编写一个简单的例子来理解栈的最基本操作。1.程序功能通过使用栈来编写一个程序,实现两个数..
分类:
其他好文 时间:
2015-09-18 07:09:38
阅读次数:
139
堆栈(Stack)是一种特殊的线性表,是一种操作只允许在尾端进行插入或删除等操作的线性表。表尾允许进行插入删除操作,称为栈顶(Top),另一端是固定的,称为栈底(Bottom).栈的操作使按照先进后出或后进先出的原则进行的。用一片连续的存储空间来存储栈中的数据元素,称为顺序栈(Sequence St...
本文针对数据结构基础系列网络课程(2):线性表中第3课时栈的顺序存储结构及其基本运算实现。按照“0207将算法变程序”[视频]部分建议的方法,建设自己的专业基础设施算法库。顺序栈算法库采用程序的多文件组织形式,包括两个文件:
1.头文件:sqstack.h,包含定义顺序栈数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef SQSTACK_H_INCLUDED
#defi...
分类:
编程语言 时间:
2015-09-15 11:08:40
阅读次数:
278
数据结构Java实现05----栈:顺序栈和链式堆栈一、堆栈的基本概念:堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。先进后出:堆栈中允许进行插入和删除操作的一端...
分类:
编程语言 时间:
2015-09-09 22:53:55
阅读次数:
439
【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
前言:
栈和队列是两种十分重要的数据结构,从数据结构的角度看,它们也同样是线性表,但是它们与一般的线性表又有区别,因为我们对于栈和队列的操作是受到限制的,由于栈和队列的重要性与特殊性,所以书中也特别用了一章的篇幅来介绍,那么接下来,就让我们先从最基本的顺序栈...
分类:
其他好文 时间:
2015-09-08 12:38:21
阅读次数:
123
一、堆栈的基本概念: 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。 先进后出:堆栈中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。堆栈的插入和删除操作通...
分类:
其他好文 时间:
2015-09-07 19:27:54
阅读次数:
220