数组的正负排序
#include <iostream>
#include <vector>
using namespace std;
void pos_neg_sort(vector<int>& v){
int i = 0; //指向正数
int j = v.size() - 1; //指向负数
while( i < j){
while(v[i] < 0 ){
i++;
}
while(v[j] >=0){
j--;
}
if( i < j){
swap(v[i],v[j]);
i++;
j--;
}
}
}
int main(){
int n;
while(cin>>n && n!=0){
vector<int>v;
for(int i = 0;i<n;i++){
int x;
cin>>x;
v.push_back(x);
}
pos_neg_sort(v);
for(int i = 0;i<n;i++){
cout<<v[i];
if(i != n - 1){
cout<<" ";
}
}
cout<<endl;
}
return 0;
}