#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,*a,t;
cout<<"请输入数组长度:";
cin>>n;
a=new int [n];
cout<<"请输入数组元素:";
for(int i=0; i<n; i++) cin>>a[i];
int i=0,j=n-1;
while(i<j)
{
while(i<j&&a[i]>0) i++;
while(i<j&&a[j]<0) j--;
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}
for(int i=0; i<n; i++) cout<<a[i]<<" ";
return 0;
}
试编写算法,设任意n个整数存放于数组A[1...n]中,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n))
最新推荐文章于 2023-07-20 10:43:46 发布