📄 adt.txt
字号:
ADT栈的定义
ADT Stack {
数据对象: Stack1栈的数据元素是 n个相同类型的数据元素a1,a2,.....,an
组成的有限序列,记为:
S1 = {ai | ai∈SElemSet , i=1,2,…,n , n ≥0}其中,n表示栈中数据元素的
个数,称为栈的长度.若n=0,栈为空栈.
数据关系: R1 = { | ai-1 , ai S1, i=2,…,n}
数据对象: Stack2栈的链式存储结构可用单向链表实现.设top指向链表的第一个
结点(即栈顶结点),入栈和出栈是有top 所指乡的结点进行的,结点类型为单向链表
的结点类OnelinkNode,结点在数据域的类型为int
S2 = {top ,data,next}
数据关系:top为头指针,设p为链表的某一结点 rear为原链表的尾结点,p=p.next进行遍历
约定an端为栈顶 , a1端为栈底 .
约定top端为栈顶 , rear端为栈底
基本操作:
isEmpty() //判断栈的状态是否为空
初始条件:栈已存在.
操作结果:判断栈的状态是否为空 .为空则其值为ture,否则,为false
isfull() //判断栈S的状态是否已满
初始条件:栈已存在.
操作结果:判断栈的状态是否已满,满则其值为ture,否则,为false
push() //入栈
初始条件:栈已存在.
操作结果:在入栈之前,必须判断栈的状态是否为已满,如果不满,
则接受新数据元素入栈,否则产生上溢错误。
pop() //出栈
初始条件:栈已存在.
操作结果:在出栈之前,必须判断栈的状态是否为空,如果为空,产生下溢错误。
Get() //获得栈顶的数据元素,未出栈.
初始条件:栈已存在且非空.
操作结果:获得的栈顶元素的值.
length() //求栈的长度
postfix() //将expstr中的中缀表达式
转换为后缀表达式,保存在pstr中,转换时设立运算符栈s1,s1是ds_java.Stack1
类的对象,类型为Object.
value() //将pstr中的后缀表达式求值,转换时设立运算符栈s2,s2是ds_java.Stack2
类的对象,类型为int.
1.创建文件夹E:\ds_java
2.环境变量classpath的设置:
classpath为.;c:\j2sdk\lib;E:\
3.声明包 ds_java,在包中声明类LinearList1、OnelinkNode、Onelink1、StackInterface
、Stack1、Stack2
4、编译类,并把编译后生成的文件放在E:\ds_java中
5、应用包中的类 import ds_java.类名
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -