</pre><pre name="code" class="cpp">/*
选择法排序是一种不稳定的排序,例如下面这种情况:
5 5 3
第一次查找的时候把第一个5与3进行交换。
*/
#include<stdio.h>
#include<iostream>
using namespace std;
//从小到大排序
void select_sort(int*a,int n)
{
int i,j,min,t;
//每次都是把本次排序最前面的元素与最小的一个进行交换
for(i = 0;i < n - 1;i ++)
{
min = i;//查找最小值
for(j = i + 1;j < n;j ++)
if(a[min] > a[j])
min = j;//交换
if(min != i)
{
t = a[min];
a[min] = a[i];
a[i] = t;
}
}
}
int main()
{
int a[10];
for(int i = 0; i < 10; i ++)
scanf("%d",&a[i]);
select_sort(a,10);
for(int i = 0; i < 10; i ++)
cout << a[i] << " ";
cout << endl;
return 0;
}
选择法排序
最新推荐文章于 2021-03-29 16:53:02 发布