我們都知道在本DJ上也有一題泡沫排序法,也就是給你泡沫排序法的演算規則,並要求你針對一串數字進行排序。雖然聽起來極度適合新手,但對進階班的老手而言,這種 O(n2) 的排序法根本就是小事一件,隨便開個內建 sort 就會過了(笑)。而身為一位幫初階教學出功課的進階教學,很明顯不會讓各位有這樣的漏洞可以鑽。
因此,以下敘述泡沫排序法的規則:假設有一長度 n 的數列 v0∼vn−1 ,從 v0 開始每次比對 vx,vx+1 ,假如 vx>vx+1 則交換兩數位置。比對到數列尾端時再重複一次以上操作,當全數列都不需再交換時即代表排序完成。
所以本題內容如下:第一行輸入一數 n ,第二行輸入數列 v0∼vn−1 ,而你的工作就是輸出把數列排序完成需交換的次數。
本題為多筆測資輸入。
第一行輸入一數 n ,且 n≤105 。
第二行輸入數列 v0∼vn−1 , 且 v0∼vn−1 皆在 int 範圍內。
輸出把 v0∼vn−1 以泡沫排序法排序完成需交換的次數。
10 33950591 1105250847 -1839191377 -2075509481 -222132008 -244962736 2004536576 1780387266 -1844252081 895871651
21
其實嚴格遞增序列根本就不需要排序嘛!
p.s.不會寫的去罵吳樹棋,別罵我
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |