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