选择排序法

      选择排序基本思想:一组数列中有n个数,一般选择第一个数依次和后面的数进行比较,若以升序输出的话,若第一个数大于后面的数,则进行交换赋值,这样一轮下来的话,第一个数即为数列中最小的数。再进行第二轮比较,以第二个数分别和后面的数进行比较,若第二个数大于后面的数,则进行交换赋值,这样一轮下来,第二位数即为第二小的数。依次循环,直至到第n-1轮结束。

下面以选择排序的法为例,输入10个数,以升序输出,代码如下:

#include 

int main()
{
	int i = 0;
	int j = 0;
	int temp = 0;

	int a[10] = {0};

	printf("please input 10 numbers:\n");

	for(i = 0; i < 10; i++)
	{
		scanf("%d",&a[i]);
	}

	for(i = 0; i < 9; i++)
	{
		for(j = i + 1; j < 10; j++)
		{
			if(a[i] > a[j])
			{
				temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	}

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

	printf("\n");

	return 0;
}



你可能感兴趣的:(选择排序法)