Требуется проверка окончательного условия для положительного числа, если отрицательные числа меньше положительных чисел в массиве
public class ArrayExample {
public static void main(String[] args) {
int a[]= {12,3,-1,4,-2,8,-9,-6,4,78};
int len=a.length;
int i,j,k;
int pcount=0,ncount=0;
int b[]=new int[len];
for(i=0;i<len;i++) // for counting positive & negative nos.
{
if(a[i]>0)
{
pcount++;
}
else
ncount++;
}
//Buffer Array
int pos[]=new int[pcount];
int neg[]=new int[ncount];
// Inserting into resp. arrays
for(i=0,j=0,k=0;i<len;i++)
{
if(a[i]<0 && j<ncount)
{
neg[j]=a[i];
j++;
}
if(a[i]>0 && k<pcount)
{
pos[k]=a[i];
k++;
}
}
System.out.println("Arr "+Arrays.toString(a));
System.out.println("Pos "+Arrays.toString(pos));
System.out.println("Neg "+Arrays.toString(neg));
//Insert into final array
for(i=0,j=0,k=0;i<(len);i++)
{
if(i%2==0 && j<pcount)
{
b[i]=pos[j];
j++;
}
if(i%2!=0 && k<ncount)
{
b[i]=neg[k];
k++;
}
}
//Final no. correction
System.out.println("Final "+Arrays.toString(b));
}
}