简单的排序题
但可能因为样本量太大
用插入排序效率太低,出现wrong answer
改用选择排序就轻松accepted
#include <iostream>
using namespace std;
int select(int a[], int num){
int number = num;
for (int position = num-1; position > 0; position--){
int max = 0;
//get max index
for (int i = 0; i <= position; ++i) {
if (a[i]>a[max]){
max = i;
}
}
//swap
int temp;
temp = a[position];
a[position] = a[max];
a[max] = temp;
}
return number;
}
int main(){
int num;
int interval;
cin>>num;
cin>>interval;
while(!(num==0 && interval==0)){
int array[num];
for (int i = 0; i < num; ++i) {
cin>>array[i];
}
select(array,num);
int position = 0;
while(position<num){
if (position+interval<num){
cout<<array[position]<<" ";
position+=interval;
} else{
cout<<array[position]<<endl;
position+=interval;
}
}
cin>>num;
cin>>interval;
}
return 0;
}