一、栈(先进后出)
public class Stack{
public int maxsize;
public int top=-1;
public String []arr;
public Stack(int maxsize){
this.maxsize=maxsize;
arr=new String[maxsize];
top=-1;
}
public void push(String str){
arr[++top]=str;
}
public String pop(){
if(!isEmpty()){
return arr[top--];
}
return null;
}
public boolean isEmpty(){
return (top==-1);
}
public boolean isFull(){
return (top==maxsize-1);
}
public void clear(){
top=-1;
}
public String peek(){
return (arr[top]);
}
}
二、队列(先进先出)
public class Queue {
private int front;
private int rear;
private int maxSize;
private String arr[];
private int curNumber;
public Queue(int maxSize){
front=0;
rear=-1;
curNumber=0;
this.maxSize=maxSize;
arr=new String[maxSize];
}
public void insert(String str){
if(rear==maxSize-1)rear=-1;
arr[++rear]=str;
curNumber++;
}
public String remove(){
if(front==maxSize-1)
front=0;
curNumber--;
return arr[front++];
}
public boolean isEmpty(){
return (curNumber==0);
}
public boolean isFull(){
return (curNumber==maxSize);
}
public int size(){
return curNumber;
}
public String peekFirst(){
return arr[front];
}
}