java資料結構 佇列

2021-09-11 04:53:22 字數 2073 閱讀 3375

佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為入隊,從佇列中刪除乙個佇列元素稱為出隊。因為佇列只允許在一端插入,在另一端刪除,所以只有最早進入佇列的元素才能最先從佇列中刪除,故佇列又稱為先進先出(fifo—first in first out)線性表。

我們拿單向佇列舉例。

入隊示例:

出隊示例:

佇列分為:

①、單向佇列(queue):只能在一端插入資料,另一端刪除資料。

②、雙向佇列(deque):每一端都可以進行插入資料和刪除資料操作。

③、優先順序佇列(priority):優先順序佇列是比棧和佇列更專用的資料結構,在優先順序佇列中,資料項按照關鍵字進行排序,關鍵字最小(或者最大)的資料項往往在佇列的最前面,而資料項在插入的時候都會插入到合適的位置以確保佇列的有序。

public class arrayqueue 

this.maxsize = maxsize;

data = new object[this.maxsize];

this.front = -1;

this.tail = -1;

this.currentsize = 0;

}public void insert(object obj)elseelse}}

public object remove()else if(currentsize >1)

return rtn;

}public boolean isempty()

public boolean isfull()

public void display()else

system.out.print(" ]");

}system.out.println();

}public static void main(string args)

}

輸出

[ 0 1 2 3 4 ]//0

1[ null null 2 3 4 ]

//[ 5 null 2 3 4 ]//2

34[ 5 null null null null ]

//[ 5 6 null null null ]

雙端佇列就是乙個兩端都是結尾或者開頭的佇列, 佇列的每一端都可以進行插入資料項和移除資料項,這些方法可以叫做:insertright()、insertleft()、removeleft()、removeright()

1)如果嚴格禁止呼叫insertleft()和removeleft()(或禁用右端操作),那麼雙端佇列的功能就和前面講的棧功能一樣。

2)如果嚴格禁止呼叫insertleft()和removeright(或相反的另一對方法),那麼雙端佇列的功能就和單向佇列一樣了。

public class priorityarrayqueue 

this.size = size;

data = new int[this.size];

currentsize = 0;

}public void insert(int value)

if(currentsize == size)else if(currentsize == 0)else

return rtn;

}public void display()

system.out.print("[ ");

for(int i : data)

system.out.print(" ]");

system.out.println();

}public static void main(string args)

}

輸出

[ 1 2 4 ]

/[ 1 2 -1 ]

/

java資料結構 佇列

1.用鍊錶實現單向佇列 package com.jzm.stackqueuetree public class linkqueue end constructor private class node end constructor private t getdata private node ge...

java資料結構 佇列

佇列 queue 是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。1 允許刪除的一端稱為隊頭 front 2 允許插入的一端稱為隊尾 rear 3 當佇列中沒有元素時稱為空佇列。4 佇列亦稱作先進先出 first in first out 的線性表,簡稱為fifo表。佇列的修改是依先進...

Java佇列資料結構

佇列 queue 是一種採用先進先出 fifo 策略的抽象資料結構,它的想法來自於生活中排隊的策略。顧客在付款結賬的時候,按照到來的先後順序排隊結賬,先來的顧客先結賬,後來的顧客後結賬。它的特點是一種只允許在一端進行插入,在另一端進行刪除的線性表結構。執行插入的一端叫隊尾 rear 允許刪除的一端叫...