数组的正负数分割排序
#include <iostream>
using namespace std;
//空间复杂度 暴力一下
int* divide_sort(int* a,int n){
int i = 0;
int j = 0;
int* num1 = new int[100];
int num2[100];
for(int k = 0;k<n;k++){
if(a[k] > 0){
num1[i++] = a[k];
}
if(a[k] < 0){
num2[j++] = a[k];
}
}
for(int k = 0;k<j;k++){
num1[i++] = num2[k];
}
return num1;
}
int main(){
int n;
while(cin>>n && n!=0){
int a[100];
for(int i =0;i<n;i++){
cin>>a[i];
}
int* res = divide_sort(a,n);
for(int i =0;i<n;i++){
cout<<res[i];
if(i!=n-1) cout<<" ";
}
cout<<endl;
}
return 0;
}