java的顺序栈。
蛮简单的,没啥可研究的。进出栈,取长,判满,判空。
import java.util.Random;
public class se_stack {
public static void main(String[] args){
stack s = new stack(1000);
Random r = new Random();
for(int i=0;i<1000;i++){
s.push_stack(r.nextInt(100));
}
System.out.println("栈此时长度为:" + s.get_length());
s.print_stack();
System.out.println("===================================");
System.out.println("弹出一个元素:"+ s.pop_stack());
System.out.println("===================================");
s.print_stack();
}
}
class stack{
int[] arry;
int p;
stack(){
this.arry = new int[100];
this.p = 0;
}
stack(int n){
this.arry = new int[n];
this.p = 0;
}
boolean is_full(){
return p == arry.length;
}
boolean is_empty(){
return p == 0;
}
boolean push_stack(int num){
if(is_full()){
System.out.println("表已经满了,拉胯了。麻烦您初始化时容量整大点。");
return false;
}
arry[p] = num;
p++;
return true;
}
int pop_stack(){
if(is_empty()){
System.out.println("栈已经空了,别弹了!");
System.exit(-1);
}
p--;
return arry[p];
}
int get_length(){
return p;
}
int[] get_arry(){
return arry;
}
void print_stack(){
if(is_empty()){
System.out.println("栈空的,啥也不是。");
System.exit(-1);
}
System.out.println("-----------------------------打印栈-------------------------------");
for(int i=0;i<get_length();i++){
System.out.print(arry[i]+" ");
}
System.out.println(" ");
System.out.println("-----------------------------打印结束-----------------------------");
}
}