数据单元
package myStack;
class DATA {//数据单元
String key;
String name;
}
栈:
``package myStack;
class MyStack {//栈单元
static final int MAX=100;
DATA[] data = new DATA[MAX+1];
int top;
}`
相关API操作:
package myStack;
/**
* @author Brighten
*
*/
public class Stack {
MyStack init(){//初始化为空栈
MyStack p;
if((p = new MyStack())!= null){
p.top = 0;
return p;
}
return null;
}
boolean isEmpty(MyStack s){// 判断栈是否为空
boolean t;
t=(s.top==0);
return t;
}
boolean isFull(MyStack s){//判断栈是否为满
boolean t;
t=(s.top==MyStack.MAX);
return t;
}
void clear(MyStack s){//清空栈
s.top = 0;
}
void free(MyStack s){//free 空间
if(s != null){
s = null;
}
}
int push(MyStack s,DATA pushData){//入栈
if((s.top+1)>MyStack.MAX){
System.out.println("溢出!");
return 0;
}
s.top++;
s.data[s.top] = pushData;
return 1;
}
DATA pop(MyStack s){//出栈
if(s.top == 0){
System.out.println("栈空 ,没有数据可以出栈");
System.exit(0);
}
return (s.data[s.top--]);
}
}