zoukankan      html  css  js  c++  java
  • 顺序队列

    public class SqQueue {
    
    	int[] data;
    	int front, rear;
    	SqQueue() {
    		data = new int[30];
    		front = rear = -1;
    	}
    	boolean empty() {
    		return front == rear;
    	}
    	
    	boolean enQueue(int e) {
    		if(rear == 29)
    			return false;
    		rear++;
    		data[rear] = e;
    		return true;
    	}
    	
    	int[] deQueue() {
    		int[] arr = new int[2];
    		if(front == rear) {
    			arr[0] = 0;
    			return arr;
    		}
    		arr[0] = 1;
    		front++;
    		arr[1] = data[front];
    		return arr;
    	}
    	
    	void display() {
    		for(int i=front+1; i<=rear; i++) {
    			if(i != rear) {
    				System.out.print(data[i] + "->");
    			} else {
    				System.out.println(data[i]);
    			}
    		}
    	}
    	public static void main(String[] args) {
    		SqQueue sq = new SqQueue();
    		System.out.println(sq.empty());
    		sq.enQueue(4);
    		sq.enQueue(5);
    		sq.display();
    		sq.deQueue();
    		sq.deQueue();
    		System.out.println(sq.empty());
    		sq.display();
    		sq.enQueue(1);
    		sq.enQueue(3);
    		sq.display();
    		sq.deQueue();
    		sq.display();
    		sq.enQueue(2);
    		sq.deQueue();
    		sq.display();
    		System.out.println(sq.empty());
    
    	}
    
    }
    


    结果:

    true
    4->5
    true
    1->3
    3
    2
    false

    ps:1、队空条件为 front==rear

             2、队满条件为rear==maxSize-1

             3、队尾指针总是指向队列中队尾的元素,而队头指针总是指向队列中队头元素的前一个元素。


  • 相关阅读:
    验证码识别思路
    chrome插件 图片搜索(20130602更新版本v2.0)
    CoffeeScript实现BF解释器
    浏览器几种高度宽度
    javascript Event事件
    浮躁的心
    前端页面跨域访问
    firefox浏览器兼容event事件方法
    转:Java Annotation详解
    javascript void(0)问题【转】
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5196622.html
Copyright © 2011-2022 走看看