Algorithm Analysis這裡有完整關於Bubble sort(泡沫排序)的說明,大家可以參考。泡沫排序是一個最古老、簡單的排序方法,但可惜是效率最不是很好。泡沫排序效率如下:
/* 泡沫排序法 */ #include <iostream.h> void bubble(int arr[],int n); void show(int [],int ); void main(void) { int bubble_arr[10]={0,0,0,0,0,0,0,0,0,0}; int i; for(i=0;i<10;i++) { cout << "Please input " << i+1 << ": "; cin >> bubble_arr[i]; } //假設使用者輸入為理想狀態 cout << "排序前:"; show(bubble_arr,10); bubble(bubble_arr,10); cin.get(); } void bubble(int arr[],int n) //泡沫排序 { int i,j,temp; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(arr[j] > arr[j+1]) { temp = arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; } } cout << "排序第 " << i+1 << "次: "; show(arr,10); } } void show (int arr[],int n) //印出陣列值 { int i; for(i=0; i < n;i++) cout << arr[i] << " "; cout << "\n"; }
在此感謝當年在數位高手(NBP)分享的朋友,本人將資料彙整於此並盡量將當初發表者名稱註記。
全站熱搜