使用陣列實現堆疊和佇列

2021-07-11 04:09:34 字數 1306 閱讀 5094

array_push()可以實現php語言的堆疊功能。

array_push()函式的使用心得

1.第乙個引數必須是陣列。

2.所有新增的陣列均為索引,即陣列下標。

3.$num為壓入後$stack所含陣列元素的個數。

4.使用陣列的直接賦值也可以實現陣列的進棧功能,例如$array = $key。

$num = array_push($stack, "c#", "ruby", array('jsp', 'asp'),array('jsp', 'asp'));

array_pop()可以實現php語言的佇列功能。

array_pop() 彈出並返回 array 陣列的最後乙個單元,並將陣列 array 的長度減一。如果 array 為空(或者不是陣列)將返回 null。 此外如果被呼叫不是乙個數則會產生乙個 warning。

<?php

$fruit = array_pop($stack);

print_r($stack);

?>

array

( [0] => orange

[1] => banana

)

array_shift — 將陣列開頭的單元移出陣列

array_shift() 將 array 的第乙個單元移出並作為結果返回,將 array 的長度減一併將所有其它單元向前移動一位。所有的數字鍵名將改為從零開始計數,文字鍵名將不變。
****array_unshift — 在陣列開頭插入乙個或多個單元****
int array_unshift ( array &ar

ray,

mixe

d var [, mixed $… ] )

array_unshift() 將傳入的單元插入到 array 陣列的開頭。注意單元是作為整體被插入的,因

此傳入單元將保持同樣的順序。所有的數值鍵名將修改為從零開始重新計數,所有的文字鍵名保持不變。

<?php

$queue = array("orange", "banana");

print_r($queue);

?>

以上例程會輸出:

array

( [1] => raspberry

[2] => orange

[3] => banana

)

堆疊和佇列的實現

棧 stack 又名堆疊,它是一種先進後出 filo 的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除...

陣列 鍊錶 堆疊和佇列

資料結構 是指相互之間存在一種或多種特定關係的資料元素的集合。聽起來是不是很抽象,簡單理解 資料結構就是描述物件間邏輯關係的學科。比如 佇列就是一種先進先出的邏輯結構,棧是一種先進後出的邏輯結構,家譜是一種樹形的邏輯結構!初學資料結構的時候很不理解為什麼有 棧 這個東西 佇列很容易理解 無論購物就餐...

陣列鍊錶堆疊和佇列

陣列鍊錶堆疊和佇列 陣列鍊錶堆疊和佇列是最基本的資料結構,任何程式都會涉及到其中的一種或多種。陣列是最最基本的資料結構,很多語言都內建支援陣列。陣列是使用一塊連續的記憶體空間儲存資料,儲存的資料的個數在分配記憶體的時候就是確定的 圖1.1包含n 個資料的陣列 訪問陣列中第 n個資料的時間花費是 o ...