閱讀655 返回首頁    go 阿裏雲 go 技術社區[雲棲]


起泡排序【模板】

這個起泡排序的 for 循環比較奇怪,注意。。。鄧老師寫的還是為了開發我們的思維。。。

另外就是 swap 函數在 using namespace std; 中有現成的函數。。。

#include <iostream>

using namespace std;

void bubblesort(int A[],int n)
{
	for(bool sorted=false;sorted=!sorted;n--)
		for(int i=1;i<n;i++)	//自左向右,檢查 A[0,n) 的相鄰元素
			if(A[i-1]>A[i])		//逆序
			{
				swap(A[i-1],A[i]);
				sorted=false;
			}
}

int main()
{
	int i;
	int V[10]={11, 23, 19, 7, 17, 5, 3, 13, 2, 29};

	printf("排序前:");
	for(i=0;i<10;i++)
		printf("%d ",V[i]);
	printf("\n");

	//起泡排序
	bubblesort(V,10);

	printf("排序後:");
	for(i=0;i<10;i++)
		printf("%d ",V[i]);
	printf("\n");

    return 0;
}

運行結果為:

排序前:11 23 19 7 17 5 3 13 2 29
排序後:2 3 5 7 11 13 17 19 23 29

最後更新:2017-04-03 14:54:08

  上一篇:go 計算機體係結構7_緩存控製機製
  下一篇:go [Qt教程] 第11篇 2D繪圖(一)繪製簡單圖形