雙棧排序練習

2021-08-02 18:25:19 字數 472 閱讀 8432

題目:

請編寫乙個程式,按公升序對棧進行排序(即最大元素位於棧頂),要求最多只能使用乙個額外的棧存放臨時資料,但不得將元素複製到別的資料結構中。

給定乙個int numbers(c++中為vector),其中第乙個元素為棧頂,請返回排序後的棧。請注意這是乙個棧,意味著排序過程中你只能訪問到第乙個元素。

解題思路:遍歷陣列,如果集合為空,則把陣列中的元素直接加入到陣列中,如果集合末尾的元素大於陣列的元素,則直接將陣列元素加入集合中,

如果集合末尾的元素大於陣列元素,則遍歷集合找到小於陣列的那個元素,並且在那個元素的後一位新增陣列元素

public arraylisttwostackssort(int numbers) else

j--;

}if(j<0)

index++;//注意這裡需要加1

}}//for

return array;

}

1002 雙棧排序

description tom最近在研究乙個有趣的排序問題。如圖所示,通過2個棧s1和s2,tom希望借助以下4種操作實現將輸入序列公升序排序。操作a 如果輸入序列不為空,將第乙個元素壓入棧s1 操作b 如果棧s1不為空,將s1棧頂元素彈出至輸出序列 操作c 如果輸入序列不為空,將第乙個元素壓入棧s...

nowcoder 雙棧排序

請編寫乙個程式,按公升序對棧進行排序 即最大元素位於棧頂 要求最多只能使用乙個額外的棧存放臨時資料,但不得將元素複製到別的資料結構中。給定乙個int numbers c 中為vector 其中第乙個元素為棧頂,請返回排序後的棧。請注意這是乙個棧,意味著排序過程中你只能訪問到第乙個元素。測試樣例 1,...

C 雙棧排序

請編寫乙個程式,按公升序對棧進行排序 即最大元素位於棧頂 要求最多只能使用乙個額外的棧存放臨時資料,但不得將元素複製到別的資料結構中。給定乙個int numbers c 中為vector 其中第乙個元素為棧頂,請返回排序後的棧。請注意這是乙個棧,意味著排序過程中你只能訪問到最後乙個元素。演算法 題目...