Re: [閒聊] 程設作業

看板NTUE-CS102作者 (鳳狼)時間15年前 (2010/03/17 01:07), 編輯推噓3(10710)
留言27則, 8人參與, 最新討論串11/30 (看更多)
垃圾 -- 先不論作業四的佇列,或作業五鏈結做排序 先看什麼是插入排序法..就作業五用的排序方法 拿過去一份表格來用...用陣列寫出這個插排...從小排到大 這是int a[10],一份未被建置的陣列 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |?|?|?|?|?|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 這裡是再來的輸入假設順序--> 1 2 8 4 6 9 0 7 5 3 首先,擺入1 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|?|?|?|?|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ -- 再來擺2跟8,因為比1大,所以直接接著排在後面沒問題 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|8|?|?|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 然後遇到4...這時候照順序一個一個找 a[0]<4 ,a[1]<4,a[2]>4 → 要把四放到a[2] → 把a[2]清出來 所以說,先把8往後推一格變成 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|8|8|?|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 再把4放進去 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|4|8|?|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ -- 以此類推...遇到6就先變成 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|4|8|8|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘    ↓↓↓ ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|4|6|8|?|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 其次9就直接照順序檢查後發現都沒有比它大的,所以放最末端 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|2|4|6|8|9|?|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ -- 這個0嘛..因為發現a[0]就比0大,所以把後面每一個都往後推 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |1|1|2|4|6|8|9|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 再置入 ┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐ |0|1|2|3|4|5|6|7|8|9| ├—┼—┼—┼—┼—┼—┼—┼—┼—┼—┤ |0|1|2|4|6|8|9|?|?|?| └—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘ 以後類推,插入排序即在輸入過程間就進行排序 原則上能比泡排來的快這樣 以下一個範例...無限輸入到80個滿..沒另外設安全措施、限定從0到int最大範圍正整數 -- int main(){ int line[80],input,end=0; for (int i=0;i<80;i++) line[i]=-1; while (cin >>input){ system("cls"); if (input<0) break; for (int i=0;i<=end;i++){ if (input>line[i]){ for (int j=end+1;j>=i;j--){ line[j]=line[j-1]; } line[i]=input; break; } } for (int i=0;i<=end;i++) if (line[i]<0) break; else cout <<i <<'\t' <<line[i] <<'\n'; end++; } } -- 鏈結部份明後天有時間再說 -- 本命 ○楽園の巫女  博麗 霊夢 職業:博麗神社の巫女さん  Hakurei Reimu   能力:主に空を飛ぶ程度の能力 @東方project系列 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.76.199 ※ 編輯: game0416 來自: 58.114.76.199 (03/17 01:07)

03/17 01:12, , 1F
看到第一頁我嚇到了= = 想說有必要這麼生氣...
03/17 01:12, 1F

03/17 01:13, , 2F
先推內文 鳳狼遇到什麼事情這麼憤怒??
03/17 01:13, 2F

03/17 01:14, , 3F
揪~~~~~竟是為什麼呢?
03/17 01:14, 3F

03/17 01:14, , 4F
花花 說好的頭噓在這
03/17 01:14, 4F

03/17 01:14, , 5F
鳳狼大你也敢噓?
03/17 01:14, 5F

03/17 01:15, , 6F
峻毅資科一哥餒
03/17 01:15, 6F

03/17 01:17, , 7F
也是啦 長得高又帥身材又好又會打籃球又有車又有........
03/17 01:17, 7F

03/17 01:17, , 8F
垃圾
03/17 01:17, 8F

03/17 01:17, , 9F
03/17 01:17, 9F

03/17 01:20, , 10F
葉酸 哩喜爹靠= =
03/17 01:20, 10F

03/17 01:20, , 11F
__友
03/17 01:20, 11F

03/17 01:22, , 12F
03/17 01:22, 12F

03/17 01:22, , 13F
03/17 01:22, 13F

03/17 01:23, , 14F
碰 車友
03/17 01:23, 14F

03/17 01:23, , 15F
噓凸口!
03/17 01:23, 15F

03/17 01:24, , 16F
樓上噓我?
03/17 01:24, 16F

03/17 01:24, , 17F
我噓樓上
03/17 01:24, 17F

03/17 01:25, , 18F
幫鳳郎推回來0.0
03/17 01:25, 18F

03/17 01:28, , 19F
睡前一噓
03/17 01:28, 19F

03/17 01:30, , 20F
樓上真早睡
03/17 01:30, 20F

03/17 01:36, , 21F
樓上&樓下請早睡
03/17 01:36, 21F

03/17 01:37, , 22F
做你的夢 XD
03/17 01:37, 22F

03/17 01:39, , 23F
謝謝樓上
03/17 01:39, 23F

03/17 01:40, , 24F
別客氣 晚安XD
03/17 01:40, 24F

03/17 03:13, , 25F
資科一哥首噓!!小弟我雙腿又一軟了 不愧是一哥
03/17 03:13, 25F

03/17 19:58, , 26F
同學嘛 大家交交朋友
03/17 19:58, 26F

03/18 00:16, , 27F
推樓上 大家交交朋友
03/18 00:16, 27F
文章代碼(AID): #1BdxhL78 (NTUE-CS102)
討論串 (同標題文章)
文章代碼(AID): #1BdxhL78 (NTUE-CS102)