选择排序的基本思想是:每一趟在n-i+1(i=1,2,...n-1)个记录中选取关键字最小的记录作为有序序列中的第i个记录。一趟选择排序的操作位:通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。
实现代码如下:
-
//直接选择排序
-
#include<iostream>
-
using namespace std;
-
-
void swap(int &a,int &b)
-
{
-
int tmp;
-
tmp=a;
-
a=b;
-
b=tmp;
-
}
-
-
void SelectSort(int array[],int n)
-
{
-
int i,j,min;
-
for(i=0;i<n-1;i++)
-
{
-
min=i;
-
for(j=i+1;j<n;j++)
-
{
-
if(array[j]<array[min])
-
min=j;
-
}
-
if(min!=i)
-
swap(array[i],array[min]);
-
}
-
}
-
-
int main()
-
{
-
int i;
-
int a[10];
-
printf("please input the array:\n");
-
for(i=0;i<10;i++)
-
scanf("%d",&a[i]);
-
SelectSort(a,10);
-
for(i=0;i<10;i++)
-
cout<<a[i]<<" ";
-
return 0;
-
}
阅读(933) | 评论(0) | 转发(0) |