三种垃圾排序做法
2024-08-26 20:42:15
发布于:广东
29阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[1005],b[1005];
int main(){
int n;
cin >> n;
for(int i = 0;i < n;i ++){
cin >> a[i];
}
//---------------------------------冒泡------------------------------------
// for(int i = 0;i < n - 1;i ++){
// for(int j = 0;j < n - i - 1;j ++){
// if(a[j] > a[j + 1]){
// swap(a[j],a[j + 1]);
// }
// }
// }
//--------------------------------选择-------------------------------------
// for(int i = 0;i < n - 1;i ++){
// int min = i;
// for(int j = i + 1;j < n;j ++){
// if(a[j] < a[min]){
// min = j;
// }
// }
// swap(a[min],a[i]);
// }
//-------------------------------插入---------------------------------------
for(int i = 1;i < n;i ++){
if(a[i] < a[i - 1]){
int tmp = a[i],x;
for(x = i - 1;x >= 0 and tmp < a[x];x --){
a[x + 1] = a[x];
}
a[x + 1] = tmp;
}
}
int len1 = n / 2 + 1,k = 0;
for(int i = 0;i < len1;i ++){
b[k] = a[i];
k ++;
}
int auto1 = n - 1,auto2 = 0,autoa = 0;
while(autoa < n){
cout << a[auto1 --] << endl;
autoa ++;
if(autoa >= n){
break;
}
cout << b[auto2 ++] << endl;
autoa ++;
}
return 0;
}
这里空空如也
有帮助,赞一个