Algorithm Analysis這裡有完整關於Bubble sort(泡沫排序)的說明,大家可以參考。泡沫排序是一個最古老、簡單的排序方法,但可惜是效率最不是很好。泡沫排序效率如下:

post-16-1107258413.jpg

/*
泡沫排序法
*/

#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)分享的朋友,本人將資料彙整於此並盡量將當初發表者名稱註記。
arrow
arrow
    全站熱搜

    NBPBlog 發表在 痞客邦 留言(0) 人氣()