乙個棧實現另乙個棧排序

2021-10-03 05:08:20 字數 731 閱讀 6382

乙個棧中元素為整形,現在想將這個棧從棧頂到棧底自大到小排序,允許申請乙個棧。除此之外無其他資料結構。允許申請新變數,如何完成排序?

1.設定需要排序的棧為stack,輔助的棧為help,從stack彈出的當前值為curt

2.將stack依次彈出,判斷彈出的值curt與help的棧頂元素大小關係,如果curt較小,就將help的棧頂元素彈出並壓入到stack中,反之,將curt壓入到help中,繼續迴圈,直到stack的長度0,且curt也成功壓入到help,最後返回help為結果。

//需要排序的棧 stack

//輔助排序的棧 help

//乙個人變數儲存當前的值 curt

function

anthorstacksort

(stack)

else

}return help

}

function

arraysort

(stack));

return stack

}var

=require

('./logarithm'

)logarithm(5

,arraysort,anthorstacksort,

false

)

如果感覺對您的學習工作有幫助,請將它分享給需要的人,或者點讚鼓勵一下,感謝支援

你可以加個收藏,我還會不斷更新。。。

棧 用乙個棧實現另乙個棧的排序

題面 用乙個棧實現另外乙個棧的頂到底降序排序 要求 不能使用額外的資料結構,但可以使用新的變數。思路 給定棧s,輔助棧help 1.遍歷給定棧 出棧 棧頂出棧cur,與help棧頂比較,如果大於輔助棧頂元素值,那麼輔助棧棧頂元素出棧至s棧,直到help棧頂元素值 cur 2.help壓入cur 2....

用乙個棧實現另乙個棧的排序

背景 乙個棧的排序其實是很好做的,但是現在要你將該棧從頂到底從大到小排序,只允許申請乙個輔助棧,可以申請有限個變數,除此之外不能再申請額外的資料結構,你該怎麼搞?演算法 設要排序的棧為st,輔助棧為help,從st彈出的元素記為cur,help的棧頂元素記為top。一直執行上述操作,直到st為空結束...

用乙個棧實現另乙個棧的排序

題目 乙個棧中元素型別為整型,想將該棧從頂到底按從大到小排序,只允許申請乙個棧。除此之外,可以申請新變數,但不能申請額外的資料結構。舉例 public static void main string args 用乙個棧實現另乙個棧的排序 public static void sortstack st...