第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

[求高手們來看看]四個棧排序

[求高手們來看看]四個棧排序

慕妹3146593 2019-03-27 15:19:38
問題是這樣的,要求用戶輸入1到n個數(shù).這個數(shù)列必須是連續(xù)的,也就是1,2,3,4....n這樣的,現(xiàn)在有四個棧,三個棧作為輔助棧,有一個棧看作是輸出棧。目標是要把輸入的數(shù)列排序好,進入輸出棧中,最終令到輸出棧一個個pop出來是9 8 7 6 5 4 3 2 1 這樣子的。此外,我用了一個ArrayList來用來存儲用戶輸入的數(shù)。1)入輔助棧的數(shù)字要比這個輔助棧的棧頂?shù)臄?shù)字要小,而且是最適合的,這個適合的意思是棧頂?shù)臄?shù)字跟輸入的數(shù)字的距離是最少的。2)如果輸入的數(shù)字比輔助棧和其他的數(shù)字中的全部數(shù)字都要小,就要可以直接出輸出棧,例如是如果輸入數(shù)組中的數(shù)是1,可以直接去輸出棧中。假如輸出棧的棧頂?shù)臄?shù)是1的話,如果在輔助棧的棧頂或者在輸入數(shù)組中找到2的話,2是可以直接到輸出棧中的。3)如果棧是空的話,數(shù)字可以直接進入。4)如果沒有任何適合的輔助棧,這表示沒有任何辦法來排序。以下是例子:用戶輸入 3 6 9 2 4 7 1 8 5 (此處按0是退出輸入)step1:因為各個棧是空的,而3的前面有1和2,所以3放到H1(輔助棧)中Step2:6也是放到輔助棧中,因為6比H1棧頂中的3要大,所以不能放到H1中,所以放到H2(輔助棧中)Step3:同理9比H1中的3要大,要比H2中的6要大,所以放到H3中Step4:2可以push去H1 H2 H3,不過push去H1是最合適的,因為H1棧頂?shù)臄?shù)減以2是最小的(距離最?。9蚀藨損ush入H1當中Step5:4應該push去H2當中,因為4比H1中的2要大,比H2中的6要小而且H2棧頂?shù)臄?shù)減以4(距離最?。蚀藨損ush入H2當中。如下是理解圖因為沒有足夠的輔助棧去排序,有些數(shù)列是不能夠排序的,例如3 2 1 9 8 7 6 5 4.謝謝
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 664 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號