氣泡排序的改進:一次同時冒一個大泡,一個小泡

期待一片自己的藍天發表於2014-06-11
void BubbleSort(int *a, int n)
{
	int i, low, high;
	low = 0;
	high = n - 1;
	while(low<high){
		for (i = low; i < high; ++i){
			if (a[i]>a[i + 1])
				swap(a + i, a + i + 1);
		}
		--high;
		for (i = high; i>low; --i){
			if (a[i] < a[i - 1])
				swap(a+i,a+i-1);
		}
		++low;
	}
}


相關文章