假设要排序的序列元素个数为n,简单选择排序的思路为:第一趟从第一个元素开始,在未排序的n个元素中选出最小元素,将其与序列第一个元素交换;第二趟从第二个元素开始,在未排序的n-1个元素中,选出最小元素,将其与本趟的第一个元素交换,以此类推,经过n-1趟,形成了从小到大的已排序序列。
下面是实现简单选择排序算法的程序,功能是将数组a的元素从小到大排列,数组元素的值由伪随机函数构造。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[100];
int i,j,n=100;
for(i=0;i<n;i++){
a[i]=rand();
}
for(i=0;i<n-1;i++){
int min_index=i;
for(int k=i+1;k<n;k++)
{
if(a[k]<a[min_index]){
min_index=k;
}
if(min_index!=i){
int t=a[i];
a[i]=a[min_index];
a[min_index]=t;
}
}
}
for(i=0;i<n;i++){
printf("%d ",a[i]);}
return 0;
}
标签:include,int,元素,选择,简单,序列,100,排序
From: https://blog.csdn.net/2401_87822230/article/details/143824117