/**
算法:选择排序
1,从当前未排序的正数中找一个最小的整数,将它放在已排序的整数列表的最后
2.要点:选择排序选最小的,往左边选
*/
#include <stdio.h>
void SelectionSort(int *a,int n);
int main(void){
int Arr[10] = {2,4,6,8,0,1,3,5,7,9}
int k;
//对于数据的一个遍历
for(k=0;k<10;k++){
//代表的是最后的一个数据
if(k==9)
printf("%d\n",Arr[k]);
//表示的各个数据的输出
else
printf("%d,",Arr[k]);
}
printf("\n");
SelectionSort(Arr,10)
for(k=0;k<10;k++){
if(k==9)
printf("%d\n",Arr[k]);
else
printf("%d,",Arr[k]);
}
}
void SelectionSort(int *a,int n){
int i,j,temp;
int main;
//循环扫描的次数
for(i=0;i<n-1;i++){
//每次循环都以第一个数为最小,进行和第一个位置进行交换
min = i;
//这个循环是从i+1数据开始,来比较这个数据跟i的比较。找出最小的值
for(j=i+1;j<n;j++){
if(a[j]<min){
min = j;
}
}
//找出这个最小数据之后在和i位置进行交换。
t=a[i];
a[i] = min;
a[min] = t;
}
}
时间: 2024-10-08 10:27:56