目录
概要:
代码如下
运行结果如下
概要:
它和冒泡排序一样,都是把数组元素按顺序排列,但是方法不同,冒泡排序是把较小值一个一个往后面移,选择排序则是直接找出最小值,可以这个说,选择排序就是把找出最大值的算法进行了一次扩展
代码如下
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;
}