选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
#include<stdio.h>
#include <stdlib.h>
//输出数组元素
int print(int data[] ,int n)
{
for(int i=0;i<n;i++)
printf("%d ",data[i]);
printf("\n");
}
int selectSort( int data[] ,int n )
{
int i,j,min,temp;
for (int i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (data[j] < data[min]) {
min = j;
}
}
int temp = data[min];
data[min] = data[i];
data[i] = temp;
print(data,10);//输出每一次排序后数组的新排序
}
}
int main()
{
int i=10,a[10]={4,8,6,5,1,0,2,9,3,7};
selectSort(a,10);
}