Re: [閒聊] 程設作業
垃圾
--
先不論作業四的佇列,或作業五鏈結做排序
先看什麼是插入排序法..就作業五用的排序方法
拿過去一份表格來用...用陣列寫出這個插排...從小排到大
這是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
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
03/17 01:37, 22F
→
03/17 01:39, , 23F
03/17 01:39, 23F
推
03/17 01:40, , 24F
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
討論串 (同標題文章)