代码
Stack.java
/**
* 栈
* @author 焦焱-16060211104
*栈的主要操作
*/
public class Stack {
/**
* 栈底
*/
private int base=0;
/**
* 栈顶
*/
private int top=0;
/**
* 栈内总元素数
*/
private int Num = 0;
/**
* 存储数据
*/
private char[] a ;
/**
* 构造栈
* @param num 栈的大小
*/
public Stack(int num) {
Num = num;
a = new char[Num+1];
}
/**
* 出栈
* @return
*/
public char Pop()
{
if(base == top)
{
System.out.println("栈空");
return 0;
}
else
{
char c = a[top--];
return c;
}
}
/**
* 入栈
* @param c 数据
*/
public void Push(char c)
{
if(top == Num)
{
System.out.println("栈满");
}
else
{
a[++top]=c;
}
}
/**
* 返回当前元素数目
* @return
*/
public int getTop() {
return top;
}
}
Test.java
public class Test {
public static void main(String[] args) {
Stack T = new Stack(6);
T.Push('a');
T.Push('b');
T.Push('c');
T.Push('d');
T.Push('e');
T.Push('f');
T.Push('f');
System.out.println(T.Pop());
System.out.println(T.Pop());
System.out.println(T.Pop());
System.out.println(T.Pop());
System.out.println(T.Pop());
System.out.println(T.Pop());
System.out.println(T.Pop());
}
}