打算認真研究演算法,所以,把這些基本演算法都寫出來,練練手。部分內容引用:坐在馬桶上看演算法2)
冒泡演算法特徵:每次迴圈只能讓乙個資料排到正確的位置上。因此,n個資料的排序,必須執行n-1次迴圈(讓n-1個資料排到正確位置上,剩下的那個自然是最小的,排在最後,不用迴圈)。
#include int main()
} printf("%d ",sort[i]);
} printf("\n");
getchar();
return 0;
}
執行結果
norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble.o
how many number will you input(1~20):
3let's begin to input num between 0~1000:
1020
30the sorting result is:30 20 10
norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble.o
how many number will you input(1~20):
4let's begin to input num between 0~1000:
2020
2020
the sorting result is:20 20 20 20
下面為每個分數加上名字標籤,讓分數有具體意義,通過增加結構體實現。
#include struct student
;int main()
} printf("no.%2d %8s %8d \n",i,class[i].name,class[i].score);
} printf("\n");
getchar();
return 0;
}
執行結果如下
norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble_score.o
how many record will you input(1~20):
5please input the record like this wangqi 100:
ken 80
jack 90
norton 95
koben 100
allen 99
the sorting result is:
rank name score
no. 0 koben 100
no. 1 allen 99
no. 2 norton 95
no. 3 jack 90
no. 4 ken 80
氣泡排序演算法C語言實現
氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。在...
排序演算法 氣泡排序 C語言實現
氣泡排序介紹 氣泡排序 bubble sort 又稱為氣泡排序。這是一種較簡單的排序演算法。它會遍歷若干次要排序的陣列,每次遍歷時,它都會從前往後依次比較相鄰兩個數的大小 如果前者大於後者,則兩者位置互換。由此,一次遍歷後,最大元素就在數列末尾。採用相同方法再次遍歷時,第二大的元素就被排列在最大元素...
氣泡排序 c語言實現
氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...