[ C語言生活記事] Sorting algorithm - (1) Bubble sort | 阿鐵的碼 ...
文章推薦指數: 80 %
排序演算法(1) - Bubble sort用兩個迴圈來實現,程式複雜度O( n^2 )
排序演算法(1)-Bubblesort
用兩個迴圈來實現,程式複雜度O(n^2)
假設有N項,因為每次抓左右兩項做比較,因此第一個迴圈為N-1
由於每次的比較都會將當次最大的數搬到右側,因此第一個迴圈每次可以將最大的數"浮至最上方",
故第二個迴圈每次比較的數量越來越少。
範例:
5,4,3,6,7,8,14,11,12,1,2,9,10,13
第一次結束後,最大的數會浮至最上方(右方)
4 3 5 6 7 8 11 12 1 2 9 10 13 14
因此下一次只需要比較N-2次,就可以得到第二大的數,再下一次N-3....以此類推。
#include
延伸文章資訊
- 1Bubble Sort (With Code in Python/C++/Java/C) - Programiz
In this tutorial, you will learn about the bubble sort algorithm and its implementation in Python...
- 2【Day 23】Bubble sort 範例 - iT 邦幫忙
C 語言的簡單入門系列第23 篇. hebe880123. 9 個月前‧ 540 瀏覽. 1. 不知道大家對於Bubble sort 的程式有沒有甚麼問題呢? 今天,我們就來討論一下程式碼!
- 3Bubble Sort Algorithm - GeeksforGeeks
Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elem...
- 4How to Use Bubble Sort in C Programming? - Simplilearn
Bubble sort in C is a straightforward sorting algorithm that checks and swaps elements if they ar...
- 5C 語言排序演算法實作整理:泡沫排序、快速排序等 - GT Wang
若要對一連串的元素(陣列)做排序的話,有很多種實作方式,常見的排序方法有:泡沫排序法(bubble sort)、插入排序法(insertion sort)、快速排序 ...