解題思路:棧的特點是先進後出,佇列的特點是先進先出,所以可以把佇列1中的元素pop到佇列2中,佇列2再次取出的時候就可以了。
/**
* 兩個棧實現乙個佇列:
* 思路:先將資料存到第乙個棧裡,再將第乙個棧裡的元素全部出棧到第二個棧,第二個棧出棧,即可達到先進先出
* 擴充套件:棧是vector的乙個子類,它實現了乙個標準的後進先出的棧。
* 棧只定義了預設建構函式,用來建立乙個空棧。 堆疊除了包括由vector定義的所有方法,也定義了自己的一些方法。
* 常用方法:
* boolean empty(),測試堆疊是否為空。
* object peek(),檢視堆疊頂部的物件,但不從堆疊中移除它。
* object pop(),移除堆疊頂部的物件,並作為此函式的值返回該物件。
* object push(object element),把項壓入堆疊頂部。
* int search(object element),返回物件在堆疊中的位置,以 1 為基數,棧頂的位置為1。
*/public class stacktoqueen
/*** pop出資料
* @param
*/public void poll()
//將stack1的元素放入stack2
while (stack1.size() > 0)
return;
}public t get()
return stack2.pop();
}public static void main(string args)
}
解題思路:佇列一中除最後乙個數外其餘的數全部匯入佇列二后返回佇列一中的元素,然後對佇列二也是如此操作。
/**
* 兩個佇列實現乙個棧
* 思路:佇列一**最後乙個數外其餘的數全部匯入佇列二,然後返回佇列中的元素,然後對佇列二也是如此操作。
* quenu的常用方法:
* poll() 獲取並移除此佇列的頭,如果此隊列為空,則返回 null
* remove() 獲取並移除此佇列的頭,如果此隊列為空,則丟擲nosuchelementexception異常
* * peek() 獲取佇列的頭但不移除此佇列的頭。如果此隊列為空,則返回 null
* element() 獲取佇列的頭但不移除此佇列的頭。如果此隊列為空,則將丟擲nosuchelementexception異常
* * offer() 將指定的元素插入此佇列(如果立即可行且不會違反容量限制),插入成功返回 true;否則返回 false。
* 當使用有容量限制的佇列時,offer方法通常要優於 add方法——add方法可能無法插入元素,而只是丟擲乙個 illegalstateexception異常
* add() 將指定的元素插入此佇列
*/public class queentostack
//取出
public t pop()
if (!queue1.isempty() && queue2.isempty())
return queue1.poll();
}if (queue1.isempty() && !queue2.isempty())
return queue2.poll();
}return null;
}public static void main(string args)
}
王道筆試題 筆試面試要點(持續更新中 )
一 陣列 1 下列程式執行後的結果是 2012 中興 includeint main void printf d n a 1 2 for i 0 i 3 i printf n return 0 解題思路 p 是乙個指向 int 型的指標 p i p i 故陣列 a 依次被初始化為 故 a 1 2 6...
TCP IP面試題(持續更新)
no.1 tcp ip基礎 這些知識點都可以參考 no.2 常見面試題 tcp與udp的區別 tcp協議是有連線的,有連線的意思是開始傳輸實際資料之前tcp的客戶端和伺服器端必須通過三次握手建立連線,會話結束之後通過四次揮手結束連線。而udp是無連線的 tcp協議保證資料按序傳送,按序到達,提供超時...
CCF歷年試題(持續更新)
如果鏈結不對應,可以去專欄檢視,因為沒有寫題目時期,所以可以直接ctrl f 定位題目。小中大 碰撞的小球 跳一跳數字之和 數列分段 門禁系統 賣菜 分蛋糕打醬油 出現次數最多的數 小明種蘋果 小明放學 買菜 遊戲二十四點 小明種蘋果 續 公共鑰匙盒 最小差值 最大波動 中間數折點計數 相鄰數對 相...