程式設計2 由兩個棧組成的佇列

2022-08-01 05:27:14 字數 1138 閱讀 7357

<?php 

header("content-type:text/html;charset=utf-8");

/** 由兩個棧組成的佇列 p5

* 編寫乙個類,用兩個棧實現佇列,支援佇列的基本操作 */

class

twostackqueue

public

function enqueue($pushnum

)

public

function

dequeue()

elseif ($this->stackpop->isempty())

}return

$this->stackpop->pop();

}public

function

current

()

elseif ($this->stackpop->isempty())

}return

$this->stackpop->top();

}}echo "向佇列依次加入7,3,1,4,0:";

echo "

";$queue = new

twostackqueue();

$queue->enqueue(7);

$queue->enqueue(3);

$queue->enqueue(1);

$queue->enqueue(4);

$queue->enqueue(0);

print_r($queue

);echo "

";echo "

";echo "元素出佇列,即7出佇列:";

echo "

";echo "出佇列的元素是:".$queue->dequeue();

echo "

";echo "此時的佇列情況是:";

echo "

";print_r($queue

);echo "

";echo "

";echo "此時的隊頭元素是:".$queue->current();

輸出結果是:

由兩個棧組成佇列

說明 本文是左程雲老師所著的 程式設計師面試 指南 第一章中 由兩個棧組成的佇列 這一題目的c 復現。感謝左程雲老師的支援。題目 編寫乙個類,用兩個棧實現佇列,支援佇列的基本操作 push pop front 思路 乙個棧作為資料的壓如棧,乙個棧作為資料的彈出棧。編譯環境 centos6.7 x86...

由兩個棧組成的佇列

用兩個棧實現佇列,支援佇列的基本操作。第一行輸入乙個整數n,表示對佇列進行的操作總數。下面n行每行輸入乙個字串s,表示操作的種類。如果s為 add 則後面還有乙個整數x表示向佇列尾部加入整數x。如果s為 poll 則表示彈出佇列頭部操作。如果s為 peek 則表示詢問當前佇列中頭部元素是多少。對於每...

棧和佇列 由兩個棧組成佇列

題目 編寫乙個類,用兩個棧實現佇列,支援佇列的基本操作 add,poll,peek 基本思路 使用兩個棧stackpush stackpop,stackpush棧負責壓入資料 stackpop棧負責將stackpush中的元素逆序,用於獲取或者彈出棧頂元素。但是有乙個規則 stackpop只有為空的...