简单选择排序
对基本的简单选择排序进行了优化。
详情可参考 排序系列
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 const int N=105; 6 7 int main(){ 8 int n,k,num[N]; 9 double gra[N]; 10 cin>>n>>k; 11 for(int i=1;i<=n;i++) 12 cin>>num[i]>>gra[i]; 13 //简单选择排序 14 for(int i=1;i<n;i++){ 15 int index=i; 16 for(int j=i+1;j<=n;j++){ 17 if(gra[index]<gra[j])index=j; 18 } 19 if(index!=i){ 20 swap(num[i],num[index]); 21 swap(gra[i],gra[index]); 22 } 23 } 24 //输出结果 25 printf("%d %g",num[k],gra[k]); 26 return 0; 27 }