【c语言例题总结】
问题描述
简单选择排序
代码
#include<iostream>
#include<cstdlib>
#include<algorithm>
#include<stdio.h>
#define N 1001
using namespace std;
void SelectSort(int a[],int n);
//int selectMinKey(int a[],int m,int n);
int main(void){
int n;
int a[N];
// 请输入要排序的个数n 以及 n个数
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
SelectSort(a,n);
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
void SelectSort(int a[],int n){
int i,j,min;
for(i=0;i<n-1;i++){
// j=selectMinKey(a,i,n);
min=i;
for(j=i+1;j<n;j++){
if(a[j]<a[min]){
min=j;
}
}
if(min!=i){
swap(a[i],a[min]);
}
}
}
//int selectMinKey(int a[],int m,int n){
// int i,j,min;
// min=a[m];
// for(i=m;i<=n;i++){
// if(a[i]<min){
// min=a[i];
// j=i;
// }
// }
// return j;
//}