gpt4 book ai didi

java - 如何从数组中分离负数和正数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:27:57 25 4
gpt4 key购买 nike

我想在数组中分隔负数和正数。

例如,如果我的数组有 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]+" ");
}

}
}

最佳答案

你有两个 j-- 而你只需要一个,所以删除其中一个。

for(int j=i;j>0;j--)
{
a[j]=a[j-1];
// remove j--; from here
}

关于java - 如何从数组中分离负数和正数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com