排序演算法__氣泡排序

Enjoy_process發表於2019-03-06

                                               排序演算法__氣泡排序

 

 

一、介紹

氣泡排序是一種簡單的排序演算法,它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的大小順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。注意氣泡排序為穩定排序。

 

二、C++實現

#include<iostream>
#include<algorithm>

using namespace std;

void bubbleSort(int a[],int n)
{
	for(int i=n-1;i>0;i--)
	{
		for(int j=0;j<i;j++)
		  if(a[j]>a[j+1])//如果大小順序錯誤就進行依次交換 
		    swap(a[j],a[j+1]);
	}
}

int main()
{
	int a[10]={1,34,2,67,4,6,90,223,12,456};
	printf("排序前:"); 
	for(int i=0;i<10;i++)
	  printf("%d ",a[i]);
	bubbleSort(a,10);
	printf("\n排序後:");
	for(int i=0;i<10;i++)
	  printf("%d ",a[i]);
	return 0;
}

三、時間複雜度

O(n^{2})

相關文章