设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))

如题所述

void Arrange(int A[],int n)
//n
个整数存于数组
A
中,本算法将数组中所有正数排在所有负数的前面

{int i=0,j=n-1,x; //
用类
C
编写,数组下标从
0
开始

while(i<j)
{while(i<j && A[i]>0) i++;
while(i<j && A[j]<0) j--;
if(i<j) {x=A[i]; A[i++]=A[j]; A[j--]=x; }//
交换
A[i]

A[j]
}// while(i<j)
}//
算法
Arrange
结束
温馨提示:答案为网友推荐,仅供参考
相似回答