java資料結構 雙端佇列

2021-08-27 05:48:12 字數 1170 閱讀 5944

普通佇列是一端進,另一端出的fifo形式,而雙端佇列就沒有這樣的限制級,也就是我們可以在佇列兩端進行插入或者刪除操作。接下來使用雙端鍊錶來實現乙個雙端佇列。

1、引進雙向鍊錶

2、構造方法

public class doublesendqueue 

}

3、新增佇列

/**

* 插入元素

*/public void add(string data)

if (data.isempty())

linkedlist.insert(data);

}

4、刪除佇列:從隊頭刪除

/**

* 刪除元素:從前端刪除

*/public string deletehead()

5、刪除佇列:從隊尾刪除

/**

* 刪除元素:從尾部刪除

*/public string deletetail()

6、檢視佇列

/**

* 檢視佇列

*/public void display()

7、檢視隊頭

/**

* 檢視隊頭

*/public string getfront()

8、檢視隊尾

/**

* 檢視隊尾

*/public string getend()

9、檢視佇列元素個數

/**

* 檢視佇列裡面幾個元素

*/public int size()

10、佇列是否為空

/**

* 佇列是否為空

*/public boolean isempty()

資料結構 佇列 雙端佇列

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...

資料結構之雙端佇列

摘要 有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從 可以直接看出來。include stdafx.h include malloc.h include stdlib.h typedef struct dequeuerecord queue struct dequeu...

python資料結構 雙端佇列

deque,全名double ended queue 佇列和棧的性質的資料結構 雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。usr bin env python coding utf 8 created by xuehz on 2017 ...