Я хочу отделить отрицательные числа и положительные числа в массиве.Как отделить отрицательные числа и положительные числа от массива?
Например, если мой массив имеет 10 значений и они {-8,7,3, -1,0,2, -2,4, -6,7}, я хочу, чтобы новый модифицированный массив был {-6, -2, -1, -8,7,3,0,2,4,7}.
Я хочу сделать это в O (n^2), и я также написал код. Но я не получаю правильных результатов. Где мой код неправильный?
import java.util.Random;
public class Apples {
public static void main(String[] args) {
Random randomInteger=new Random();
int[] a=new int[100];
for(int i=0;i<a.length;i++)
{
a[i]=randomInteger.nextInt((int)System.currentTimeMillis())%20 - 10;
}
for(int i=0;i<a.length;i++)
{
if(a[i]<0)
{
int temp=a[i];
for(int j=i;j>0;j--)
{
a[j]=a[j-1];
j--;
}
a[0]=temp;
}
}
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}
Что такое правило, чтобы определить порядок цифр, особенно если эти признаки одинаковы? Реверс ввода для отрицательных чисел и того же порядка, что и вход для неотрицательных чисел? – MikeCAT
Извините, я не совсем понял ваш комментарий. Я просто пытаюсь взять все отрицательные числа и выбросить их в начало массива. Таким образом, к концу, у меня будут все мои отрицательные числа в начале, а затем положительные числа (включая ноль) к концу. –
удалите строку 'j -;', потому что вы сделали это для цикла – Jerry06