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、队尾指针总是指向队列中队尾的元素,而队头指针总是指向队列中队头元素的前一个元素。


  • 相关阅读:
    Markdown基本必学语法
    Javascript检测值
    JS中的函数传参
    解决windows下node-sass报错的问题
    scroll的应用
    css中常见几种float方式以及倒计时(刷新页面不清)
    jquery中append与appendTo方法区别
    如何利用sql注入进行爆库
    Smarty静态缓存
    我的DBDA类
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5196622.html
Copyright © 2011-2022 走看看