棧模擬佇列尾插和頭刪

2021-10-06 01:22:11 字數 554 閱讀 2086

題目**

這道題簡單難度,關鍵是聯想到棧和佇列的區別,棧——先進後出,佇列——先進先出。

所以要想使用棧來模擬佇列,我們可以想到使用兩個棧不斷地「倒騰」資料:

在新增元素到尾部的時候,若是棧一有元素,將全部元素壓入棧二,然後再直接將元素壓入棧二

在刪除佇列頭部元素時,將棧二的元素全部出棧到棧一,此時棧一頂部元素就是佇列頭部元素

class

cqueue

public

void

(int value)

} stack2.

add(value);}

public

intdeletehead()

return stack1.

pop();

}else

else}}

}

順序表的實現(頭插,頭刪尾插,尾刪)

順序表 順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。順序表特點 將表中元素乙個接乙個的存入一組連續的儲存單元中,這種儲存結構...

雙端鍊錶的頭插尾插頭刪尾刪

雙端鍊錶的定義我在這裡就不贅述了。直接上圖講 雙端鍊錶的插入,無論是頭插還是尾插,都要記住大話資料結構中的一張圖,強調順序的。這裡的順序比較容易記住,就是自己寫 的時候可能會比較迷糊,我是這樣記得,箭頭從起點到終點的方向為等式的左邊,箭頭的終點為等式的右邊,拿 舉例子,箭頭的方向為node prev...

C語言 用尾插法和頭插法建立鍊錶

關於鍊錶的建立 輸出 釋放問題,具體可以看本人之前的一篇文章 c語言 建立鍊錶,輸出和釋放 這裡以將字串 i love program 放入鍊錶中為例 include include include define max 14 struct list typedef struct list node...