Re: [問題] 二維矩陣一一比大小 求差異最大

看板C_Sharp (C#)作者 (笨嘎嘎)時間12年前 (2013/07/10 23:32), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《st111840 (小白)》之銘言: : 如題 目前遇到一個問題 : 希望能找出二維矩陣中由大到小排列 : 落差最大的那個值 : 如150 148 137 80 45 則我要找137 因為和80落差最大 : 這部分不知道該如何完成 請板上高手指導一下了 : P.S 目前二維矩陣尚未排序過 資料是亂的 : 有想過用兩個for迴圈將二維矩陣的資料排序到一維陣列中 : 不過這部分不太了解該怎麼寫 請高手們幫幫忙 謝謝 我不是高手,寫法百百種,挑一個你爽的。 建議不要二維轉一維,這樣很浪費 我的寫法是這樣 OrininalArray:原始二維陣列 A E C F B D SortedArray:排序後二維陣列 直接從原始陣列排序就好, 不用轉一維排序後再轉回二維 A B C D E F DifferenceArray:差值二維陣列 排序後陣列的兩兩差值, 放在差值陣列的前一個Index A-B B-C C-D D-E E-F 0 這樣寫的好處是, 可以從「差值陣列」推算出「排序後陣列」是哪兩個元素的差值最大。 通常以排序後的資料這樣寫比較快, 為排序的資料隨你寫都沒差。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.20.138

07/11 12:24, , 1F
感謝分享 我想轉一維是因為怕直接二維陣列排序不知道會不
07/11 12:24, 1F

07/11 12:24, , 2F
會更改到二維陣列的原始資料 因為程式後半部分會需要用到
07/11 12:24, 2F

07/11 12:25, , 3F
二維陣列的座標值
07/11 12:25, 3F

07/11 16:01, , 4F
從原始陣列複製一分後再sort就好。
07/11 16:01, 4F
文章代碼(AID): #1HtNw0fW (C_Sharp)
文章代碼(AID): #1HtNw0fW (C_Sharp)