C语言基本算法之选择排序

目录

概要:

代码如下

运行结果如下


概要:

它和冒泡排序一样,都是把数组元素按顺序排列,但是方法不同,冒泡排序是把较小值一个一个往后面移,选择排序则是直接找出最小值,可以这个说,选择排序就是把找出最大值的算法进行了一次扩展

代码如下

int main(int argc, char const *argv[])
{
	int arr[] = {3 , 1 , 2 , 5 , 6 , 4};
	int n = sizeof(arr)/sizeof(arr[0]);
	int i =0, j = 0,min = 0;
	for(i = 0 ; i < n ; i++)
	{
		for (min =i,j=min+1; j < n; j++)
		{
			if (arr[j] < arr[min])
			{
				min = j;
			}
			
		}	
		if (min != i)
		{
			//swap
			int temp = arr[i];
			arr[i] = arr[min];
			arr[min] = temp;
		}		
	}
	i=0;
	for ( i = 0; i < n; i++)
	{
		printf("%d\n",arr[i]);
	}
	
	return 0;
}

运行结果如下

C语言基本算法之选择排序_第1张图片

你可能感兴趣的:(C语言基本算法,算法,c语言,排序算法)