C語言氣泡排序源程式?

C語言是一門計算機高階語言,被許多IT行業的工作者們熟練地運用著。在C語言中,排序的演算法有好幾種,下來我會舉一個例子:C語言的氣泡排序,以及氣泡排序的一些講解。

C語言氣泡排序源程式

工具/原料

電腦

C語言

visual c++ 6.0

方法/步驟

程式碼源程式為:

#include

#include

#define ok 1

int main()

{

int sort(int azz[],int n );

int arr[7];

int i,j;

printf("請輸入幾個整數:\n");//七個以內的數

for(j=0;j<;j++)

scanf("%d",&arr[j]);

sort(arr,7);

printf("請輸出arr[]中的數:");

for(i=0;i<7;i++)

printf("%3d",arr[i]);

printf("\n");

return 0;

}

int sort(int azz[],int n)

{

int t,i,j;

for(i=0;i

for( j=0;j

{

if(azz[j]>azz[j+1])

{

t=azz[j];

azz[j]=azz[j+1];

azz[j+1]=t;

}

}

return ok;

}

C語言氣泡排序源程式

此程式含有一維陣列

一般形式:型別符 陣列名[常量表達式];

說明:

陣列名是一個地址常量,不能對陣列進行賦值和運算;

在定義陣列時,陣列的元素個數必須是常量。int n=3; int a[n]; 就是錯誤的形式;

陣列元素的下標必須從0開始。

C語言氣泡排序源程式

程式還運用到了“函式呼叫”

一般形式:

函式名(實參表列)

注意:

在主函式中對呼叫函式進行說明,則只能在主函式中呼叫;

在主函式前對呼叫函式進行說明,則能在主函式和其後的其他函式中呼叫;

C語言氣泡排序源程式

可以看到,執行了呼叫函式後,你所輸入的無序數字,在輸出後變成了有序的數字。這是由於形引數組azz已用氣泡排序對輸入的數字進行了排序,形引數組改變,使得實引數組也隨之改變了。

C語言氣泡排序源程式

氣泡排序

氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。氣泡排序演算法的運作如下:比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後一個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

C語言氣泡排序源程式

輸入數字時,一定要注意輸入時,應該輸入一個數字就要回車,才能保證輸入的數字個數不超過陣列所要求的長度。

C語言氣泡排序源程式

相關問題答案