java 資料結構 之 佇列的實現 (二)
繼上一篇之後的第二篇資料結構的文章,這篇是關於佇列的實現, 佇列顧名思義
類比為排隊買票,先排的人先買後來的人後買
具體實現也是陣列 下面是自己敲得程式碼 其中陣列型別可泛化 為Object ,增強適用性 也可根據具體適用場景改動
其實在開發中也用到這些基礎的資料結構,jdk底層有提供的實現介面,本文(同系列的文章)僅供理解底層資料結構的實現
/**
* Created by gy on 2017/8/23.
* email : guoyang000111@163.com
* 佇列
*/
public class Queue {
private int array[];
private int front;//佇列陣列的頂部下標
private int end;//佇列末下標
private int number; //計數
private int max;//佇列的容器大小
public Queue(int max){
this.max=max;
array =new int[max];
front=0;end=0;number=0;
}
/**
* 插入佇列
* @param value
*/
private void insert(int value){
if(isFull()){
System.out.println("佇列已滿!");
}else{
array[end++]=value;
number++;
}
}
/**
* 返回佇列的大小
* @return
*/
private int size(){
return number;
}
/**
* 取佇列的值
* @return
*/
private int remove(){
if(isEmpty()){
System.out.println("佇列已空!");
return 0;
}else{
number--;
return array[front++];
}
}
/**
* 判斷是否滿了
* @return
*/
private boolean isFull(){
return number == max;
}
/**
* 判斷是否佇列為空
* @return
*/
private boolean isEmpty(){
return number == 0;
}
public static void main(String[] args) {
Queue queue=new Queue(10);
queue.insert(1);
queue.insert(2);
queue.insert(3);
queue.insert(4);
queue.insert(5);
queue.insert(6);
queue.insert(7);
int size=queue.size();
for(int i=0;i<size;i++){
System.out.println(queue.remove());
System.out.println("大小:"+queue.size());
}
}
}
相關文章
- 資料結構之php實現佇列資料結構PHP佇列
- 【資料結構】佇列(順序佇列、鏈佇列)的JAVA程式碼實現資料結構佇列Java
- 資料結構二之棧和佇列資料結構佇列
- python資料結構之棧、佇列的實現Python資料結構佇列
- php實現基本資料結構之棧、佇列PHP資料結構佇列
- js實現資料結構--佇列JS資料結構佇列
- 資料結構之「佇列」資料結構佇列
- Java版-資料結構-佇列(陣列佇列)Java資料結構佇列陣列
- 畫江湖之資料結構【第二話:佇列和棧】佇列資料結構佇列
- 畫江湖之資料結構 [第二話:佇列和棧] 佇列資料結構佇列
- Java版-資料結構-佇列(迴圈佇列)Java資料結構佇列
- JavaScript資料結構之-佇列JavaScript資料結構佇列
- 資料結構之佇列(Queue)資料結構佇列
- JavaScript資料結構之佇列JavaScript資料結構佇列
- 資料結構之PHP(最大堆)實現優先佇列資料結構PHP佇列
- java實現單連結串列、棧、佇列三種資料結構Java佇列資料結構
- 資料結構-js實現棧和佇列資料結構JS佇列
- 【php實現資料結構】鏈式佇列PHP資料結構佇列
- 詳細分析棧和佇列的資料結構的實現過程(Java 實現)佇列資料結構Java
- 重學資料結構之佇列資料結構佇列
- 資料結構之「雙端佇列」資料結構佇列
- 資料結構學習之佇列資料結構佇列
- 資料結構之棧和佇列資料結構佇列
- 【資料結構】順序佇列的實現(c++)資料結構佇列C++
- 【資料結構】迴圈佇列的實現(c++)資料結構佇列C++
- 實戰PHP資料結構基礎之佇列PHP資料結構佇列
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- 資料結構-迴圈佇列(Python實現)資料結構佇列Python
- 資料結構-棧&佇列&Deque實現比較資料結構佇列
- 資料結構-佇列資料結構佇列
- 【資料結構-----佇列】資料結構佇列
- 資料結構 - 佇列資料結構佇列
- 【資料結構】迴圈佇列 C語言實現資料結構佇列C語言
- java資料結構基礎-利用Heap(堆)實現PriorityQueue(優先佇列)Java資料結構佇列
- 畫江湖之資料結構【第二話:佇列和棧】棧資料結構佇列
- 畫江湖之資料結構 [第二話:佇列和棧] 棧資料結構佇列
- 資料結構之php實現陣列資料結構PHP陣列
- 資料結構之斐波那契數列java實現資料結構Java