使用倆個棧實現排序

2021-10-03 03:53:43 字數 592 閱讀 3371

public arraylist

twostackssort

(int

numbers)

while

(!initstack.

empty()

)// 使用變數來記錄當前要插入的數

int num = initstack.

pop();

// 這裡是按照棧頂元素最大

// 如果大於棧頂元素直接壓棧

if(num >= sortstack.

peek()

)else

// 找到合適的位置,插入進去

sortstack.

push

(num)

;// 將彈出來的數還回去

while

(size--

>0)

}}arraylist

list =

newarraylist

<

>()

;while

(!sortstack.

isempty()

)return list;

}

用倆個棧實現佇列

棧 佇列 一 題目 感謝 提供的題目 用倆個棧實現佇列。某佇列的宣告如下 templateclass cqueue cqueue void deletehead remove a element from head private stackm stack in stackm stack out 分...

用倆個棧實現佇列

思路 棧是先進後出的,佇列是先進先出的,所以要想讓先壓進棧的元素先出來,只通過乙個棧是實現不了的,但我們可以通過將棧1的資料取出再壓入棧2中,這樣在棧1底部的 也就是先壓棧的 資料就會到棧2的頂部,再將其取出,就可以實現佇列先進先出了。include include include using na...

57 用倆個棧實現佇列

57.用倆個棧實現佇列。題目 某佇列的宣告如下 83templateclass cqueue cqueue void deletehead remove a element from head private stackm stack1 stackm stack2 分析 從上面的類的宣告中,我們發現...