#include <stdio.h>
//选择当前最大的值个最后一个换位置
//找到最大值的位置
int findmaxpos(int arr[],int n){
int pos=0;
int i;
int max =arr[0];
for(i = 0;i<n;i++){
if(arr[i]>max){
max = arr[i];
pos = i;
}
}
return pos;
}
void selectsort(int arr[],int n){
while(n>1){
int pos = findmaxpos(arr,n);
int temp = arr[pos]; //最大值的位置
arr[pos] = arr[n-1]; //将它取出来做交换
arr[n-1] = temp;
n--;
}
}
int main(){
int arr[] = {2,3,5,1,6,7,9,4};
selectsort(arr,8);
int i;
for(i = 0;i<8;i++){
printf("%d\n",arr[i]);
}
return 0;
}
网友评论