**注:java用String存储数据实现队列的入队出队:https://blog.csdn.net/qq_34746239/article/details/88119515
二、栈
定义:栈是先入后出,所以入栈方式和队列一样,但是出栈是返回最后一个数据(即栈顶数据)
定义类:
package stack;
public class Stack{
private static String data="##";
public void inStack(int i){
data=data+","+i;
System.out.println("入栈后,data中的数据为"+data.replace("##,", "").replace(",", " "));
}
public int outStack(){
String[] a=data.split(",");
if(a.length==1){
System.out.println("栈为空");
return 0;
}else{
data="";
for(int i=0;i<a.length-1;i++){
data+=a[i];
if(i!=a.length-1){
data+=",";
}
}
System.out.println("出栈后,data中的数据为"+data.replace("##,", "").replace(",", " "));
return Integer.parseInt(a[a.length-1]);
}
}
}
测试类:
package stack;
public class testStack {
public static void main(String []args) {
Stack a=new Stack();
a.outStack();
a.inStack(10);
a.inStack(8);
a.outStack();
a.inStack(53);
a.inStack(9);
a.outStack();
a.inStack(77);
}
}
测试结果: