冒泡排序

#include <stdio.h>
#define N 10

int main()
{
	int a[N]={9,8,7,6,5,4,3,2,1,0};
	int i,j;
	int tmp;

	for (i=0;i<N-1;i++)                //外循環是比較的輪數
	{
		for (j=0;j<N-i-1;j++)              //內循環是每一輪比較的次數
		{
			if (a[j]>a[j+1])
			{
				tmp = a[j];
				a[j] = a[j+1];
				a[j+1] = tmp;
			}
		}
	}

	for (i=0;i<N;i++)
	{
		printf ("%d\n",a[i]);
	}

    return 0;
}




ps:冒泡排序算法的運作如下:(從後往前)
1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3、針對所有的元素重複以上的步驟,除了最後一個。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章