算法系列之排序(二):選擇排序

go on~

何爲選擇(不要吐槽這句話)?我也不懂,只知道怎麼做(滑稽,非手動)。選擇就是在數組中,挑出最大(小)的數,放在右(左)端,然後在剩下的數中,挑出第二大(小)的數放在上一個挑出數的左(右)端,依次類推。

廢話結束,上代碼(不要問我要Java、OC、Swift、Python、彙編或者PHP之類的語言,我不會!非傲嬌臉):

#include <stdio.h>

int main()
{
	int a[10] = {2, 5, 9, 1, 4, 8, 6, 7, 3, 0};
	for (int i = 0; i < 10; i++)
	{
		printf("%d\t", a[i]);
	}
	printf("\n");
	for (int i = 0; i < 9; i++)
	{
		int t = a[i];
		int no = i;
		for (int j = i; j < 9; j++)
		{
			if (t > a[j+1])
			{
				t = a[j+1];
				no = j+1;
			}
		}
		a[no] = a[i];
		a[i] = t;
	}
	for (int i = 0; i < 10; i++)
	{
		printf("%d\t", a[i]);
	}
	printf("\n");
	getchar();
	return 0;
}

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