直接选择排序(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;
}
本文介绍了一种简单直观的排序算法——直接选择排序。该算法通过多次遍历未排序部分找到最小元素并将其移至已排序序列末尾的方式完成排序过程。文章通过一个具体的示例程序展示了如何使用C++实现直接选择排序。
1506

被折叠的 条评论
为什么被折叠?



