基本的なアルゴリズムシリーズのスタックとキュー

彼らはスタックが最初にあるその論理関係「1対1」であるストアデータにも使用されているので、厳密に言えば、スタックやキューは、またリニアテーブルです-in-最後のアウト、およびキューがある第一に、最初の-アウトコードは次のとおりです。

public class myStack{
    
    
	private int[]elements;
	public myStack(){
    
    
		elements=new int[0];
	}
	public void push(int element){
    
    	//进栈
		int[]newArray=new int[elements.length+1];	//末尾添加
		for(int i=0;i<elements.length;i++){
    
    
			newArray[i]=elements[i];
		}
		newArray[elements.length]=element;
		elements=newArray;
	}
	public void pop(){
    
    	//出栈
		int element=elements[elements.length-1];
		int[]newArray=new int[elements.length-1];
		for(int i=0;i<newArray.length;i++){
    
    
			newArray[i]=elements[i];
		}
		elements=newArray;
		return element;
	}
	public boolean isEmpty(){
    
    
		return elements.length==0;
	}
}

public class myQueue{
    
    
	private int[]elements;
	public myQueue(){
    
    
  		elements=new int[0];
 	}
 	public void enqueue(int element){
    
     //入队
  		int[]newArray=new int[elements.length+1]; //末尾添加
  		for(int i=0;i<elements.length;i++){
    
    
   			newArray[i]=elements[i];
  		}
  		newArray[elements.length]=element;
  		elements=newArray;
 	}
 	public void dequeue(){
    
    	//出队
 		int element=elements[0];
 		int[]newArray=new int[elements.length-1];
 		for(int i=0;i<newArray.length;i++){
    
    
 			newArray[i]=elements[i+1];
 		}
 		elements=newArray;
 	}
}
 

おすすめ

転載: blog.csdn.net/langxiaolin/article/details/113445177