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+"、");
    		}
    	}
    
    }
    

     

  • 相关阅读:
    近期学习情况
    java连接数据库的两种方法总结
    近两个星期学习成果
    云笔记第一阶段总结
    圆面积
    C++计算器项目的初始部分
    C++视频课程
    A+B Format
    大一下学期的自我目标
    Kohana的请求流
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5334285.html
Copyright © 2011-2022 走看看