直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
代码:
#include<iostream>
#define LEN 9
using namespace std;
int main( )
{
int ARRAY[LEN]={5,6,8,2,4,1,9,3,7};
cout<<"Before sorted:"<<endl;
for (int i=0; i<LEN; i++)
{
cout<<ARRAY[i]<<" ";
}
cout<<endl;
int t, m;
for(int i=0; i<LEN-1; i++)
{
m = i;
for(int j = i+1; j < LEN; j++)
{
if(ARRAY[j] < ARRAY[m])
m = j;
}
if(m != i)
{
t = ARRAY[i];
ARRAY[i] = ARRAY[m];
ARRAY[m] = t;
}
}
cout<<"After sorted"<<endl;
for(int i=0; i<LEN; i++)
{
cout<<ARRAY[i]<<" ";
}
cout<<endl;
return 0;
}