目的:將輸入的陣列按照從小到大氣泡排序。
思路:① 從第1個數開始, 依次與後乙個數比較,將最大的乙個數放在最後;
② 繼續從第1個數開始,依次與後乙個比較,將最大的乙個數倒數第二個;
③ 依次類推;
int
bubble
(int a,
int n)}}
return0;
}
/**
* @brief 測試冒泡程式
* @author mculover666
* @date 2020/04/09
*/#include
intbubble
(int a,
int n)
;int
main()
printf
("\n");
//排序功能
bubble
(nums,10)
;//列印排序後的數
for(i =
0;i <
10;i++
)printf
("\n");
return0;
}int
bubble
(int a,
int n)}}
return0;
}
編譯:
gcc test.c -o test.o
執行結果:
C語言排序演算法 氣泡排序演算法
氣泡排序是一種交換排序,基本思想是 相鄰兩兩比較,若反序則交換。定義交換操作函式 1 void swap int p,int i,intj 2 基本排序演算法 思想 i 0時,p i 依次與後面的元素比較,如果後面的元素小,則交換位置,繼續比較,直到將最小的元素交換到第乙個位置,再從第二個開始與後面...
C語言 氣泡排序演算法
重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,故名。void swap int a,int b int main int ...
C語言 氣泡排序演算法
氣泡排序演算法 基本思想 相鄰位置元素兩兩比較,順序相反則進行交換,每一輪會將最小或最大的元素 浮 到頂端,最終達到完全有序。排序原理圖 演算法實現 include void bubblesort int arr,int sz if flag 1 break void printarr int ar...