zoukankan      html  css  js  c++  java
  • Java数据结构——队列

    //=================================================
    // File Name       :	Queue_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    //类名:Queue
    //属性:
    //方法:
    class Queue{
    	private int maxSize;					//队列的长度
    	private long[] queueArray;		//创建队列的数组的引用
    	private int front;							//创建队头的引用
    	private int rear;						//创建队尾的引用
    	private int curNum;					//创建当前元素的个数
    	
    	public Queue(int s) {					//构造函数
    		this.maxSize = s;
    		queueArray = new long[maxSize]; 		//创建对象
    		front = 0;											//队头等于0
    		rear = -1;										//队尾等于-1
    		curNum = 0;									//当前的元素的个数是0
    	}
    	
    	public void insert(long j){
    		if(rear == maxSize-1){				//如果队尾是队列的最大值-1,则队尾等于-1
    			rear = -1;
    		}
    		queueArray[++rear] = j;				//先自加为0,然后给队尾的元素赋值
    		curNum++;									//当前的元素的个数加1
    	}
    	
    	public long remove(){
    		long temp = queueArray[front++];		//取得队头的元素,然后自加
    		if(front == maxSize){
    			front =0;
    		}
    		curNum--;										//当前的元素的个数减1
    		return temp;
    	}
    	
    	public long peekFront(){
    		return queueArray[front];		
    	}
    	
    	public boolean isEmpty(){
    		return (curNum==0);
    	}
    	
    	public boolean isFull(){
    		return (curNum==maxSize);
    	}
    	
    	public int Size(){					//返回当前队列元素的个数
    		return curNum;
    	}
    	
    }
    
    
    //主类
    //Function        : 	Queue_demo
    public class Queue_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		Queue queue_demo = new Queue(5);
    		queue_demo.insert(50);
    		queue_demo.insert(60);
    		queue_demo.insert(70);
    		queue_demo.insert(80);
    		queue_demo.remove();
    		queue_demo.insert(50);
    		
    		while( !queue_demo.isEmpty()){
    			long value = queue_demo.remove();
    			System.out.print(value+"、");
    		}
    	}
    
    }
    

     

  • 相关阅读:
    把函数作为参数,调用的时候,先判断这个参数是不是存在,然后调用函数的时候加上()
    @keyframes 和animation配合使用
    让sublime text3支持Vue语法高亮显示
    vue.js中的vue-cli中各个文件简单介绍
    函数节流
    Ajax原理
    Ajax同步
    判断数据类型的方法
    闭包的用途
    vue模板编译
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5334285.html
Copyright © 2011-2022 走看看