[問題] 一維陣列 基礎問題請益

看板C_and_CPP作者 (安安王子)時間8年前 (2016/06/07 15:36), 8年前編輯推噓8(8019)
留言27則, 10人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 問題(Question): 小弟目前在自學C,目前學到陣列排序 如附圖,小弟沒辦法了解那這兩行 for(i=5;i>0;i--) for(j=0; j<i-1; j++) 希望大大能解釋這兩行程式碼怎麼去解釋左邊附圖那變換位置 謝謝各位前輩 *[36m程式碼(Code):(請善用置底文網頁, 記得排版) http://imgur.com/EZzP8OY
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.29.87 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1465284981.A.A0A.html

06/07 15:54, , 1F
閉上眼睛就會了解了。
06/07 15:54, 1F

06/07 15:59, , 2F
確保陣列最右邊為最大的 確保後不再檢查 減少檢查範圍
06/07 15:59, 2F

06/07 16:00, , 3F
你印出來的就是確保的順序
06/07 16:00, 3F

06/07 16:24, , 4F
google bubble sort
06/07 16:24, 4F
補充一下我的盲點 因為我在學巢式迴圈打9宮格*字號的時候 理解是外圈for等於寫行數 內圈for等於打出* 這個我無法理解i跟j的關係 QQ ※ 編輯: death811125 (1.171.29.87), 06/07/2016 17:13:06

06/07 19:57, , 5F
以你的「三角形」的話來說, 這是一個◤形的三角形
06/07 19:57, 5F

06/07 19:59, , 6F
左邊由上到下標 5 到 1, 上面由左到右標 0 到 4
06/07 19:59, 6F

06/07 19:59, , 7F
一個 * 往左跟往上即是一組 i 跟 j
06/07 19:59, 7F

06/07 22:14, , 8F
i=5,j=0 排一次 i=5,j=1 排一次... 算惹 不排惹
06/07 22:14, 8F

06/08 00:36, , 9F
i一樣是行數 j就是那一行裡面要比較幾次
06/08 00:36, 9F

06/08 01:29, , 10F
推個 逐步執行(?
06/08 01:29, 10F

06/08 07:38, , 11F
內圈j全部跑完 i才會跑一圈的概念
06/08 07:38, 11F

06/08 12:12, , 12F
先看懂if裡面在做甚麼
06/08 12:12, 12F

06/08 13:51, , 13F
是不是被圖片誤導了以為那是一輪
06/08 13:51, 13F

06/08 13:52, , 14F
nowarp那邊j就作完一圈了
06/08 13:52, 14F

06/08 13:54, , 15F
接著i=4
06/08 13:54, 15F

06/08 13:56, , 16F
sorry我看錯 不要裡我
06/08 13:56, 16F

06/08 14:01, , 17F
作一次會拿到66最大 接著就不用再跟他比
06/08 14:01, 17F

06/08 14:04, , 18F
所以只要用比data[3]比data[0,1,2] J<4-1 <3是比第0
06/08 14:04, 18F

06/08 14:04, , 19F
12個
06/08 14:04, 19F

06/08 14:05, , 20F
會找到第二大的34 接著就樣可以在少比一次
06/08 14:05, 20F

06/08 14:12, , 21F
每一次最右邊那個一定會最大 所以每完一輪就能少比一
06/08 14:12, 21F

06/08 14:12, , 22F
06/08 14:12, 22F

06/08 14:15, , 23F
以上面那個例子就是最後你是拿到0123裡面最大的3 可
06/08 14:15, 23F

06/08 14:15, , 24F
是不知道012的順序所以繼續再用012作一次
06/08 14:15, 24F

06/08 14:17, , 25F
啊 你是用12345
06/08 14:17, 25F

06/08 15:58, , 26F
12 23 34 45 得5最大 4次 I=5 J=0 做到J<I-1 -> J<4
06/08 15:58, 26F

06/08 15:58, , 27F
0~3 4次
06/08 15:58, 27F
文章代碼(AID): #1NLdbreA (C_and_CPP)