1. 程式人生 > >排序2--氣泡排序

排序2--氣泡排序

氣泡排序: 基本思想:通過兩兩比較,如果低位比高位大,則進行交換,每次排序,我們都可以發現有一個最大的排號,感覺就是倒著排序,從右向做左看,依此慢慢 排序好。故可以倒著看。

在這裡插入圖片描述 具體實現程式碼如下:

#include<iostream>
using namespace std;


//氣泡排序

void SelectSort(int a[], int n)
{
	int i, j, temp;
	for (i=0;i<n-1;i++)	#其實這個i<n還是小於n-1;執行結果不變。
		for (j=0;j<n-1-i;j++)		#執行(n-1)次 冒泡的次數  決定冒泡的位置,這個n必須減低1。因為a[0]和a[1]比較,a[2]和a[3]比較,一直到a[n-1]和a[n]比較,故j只能最大取n-1;
			if (a[j] > a[j + 1])
			{
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
}

int main()
{
	int a[10], i, n = 10, num = 10;
	for (i = 0; i < n; i++)
		a[i] = num--;
	cout << "原序列:\n";
	for (i = 0; i < n; i++)
		cout << a[i] << "  ";
	SelectSort(a, n); cout << "排序後:\n"; for (i = 0; i < n; i++)cout << a[i] << " ";
	return 0;
}