Java 将正数置于负数之前
我在网上找到了这个代码,它取了一个正数和负数的数组,然后重新排列数组,使所有负数都在正数之前。但每个数字的出现位置必须保持不变。例如,如果我有-25-9…,在有组织的数组中-2仍然必须是负数的第一个数,-9必须是负数的第二个数,5也必须是正数的第一个数 例如: 所以代码工作正常,但我想做的是改变它,使正数出现在负数之前 例如: 这是代码,如果你能帮我的话,我知道这不是很复杂,但我想不出来 //重新排列正片和负片的Java程序 //数组中的数字 公共阶级重组{ /*函数打印数组*/ 静态无效printArrayint[]A,整数大小{ 对于int i=0;iJava 将正数置于负数之前,java,arrays,sorting,recursion,Java,Arrays,Sorting,Recursion,我在网上找到了这个代码,它取了一个正数和负数的数组,然后重新排列数组,使所有负数都在正数之前。但每个数字的出现位置必须保持不变。例如,如果我有-25-9…,在有组织的数组中-2仍然必须是负数的第一个数,-9必须是负数的第二个数,5也必须是正数的第一个数 例如: 所以代码工作正常,但我想做的是改变它,使正数出现在负数之前 例如: 这是代码,如果你能帮我的话,我知道这不是很复杂,但我想不出来 //重新排列正片和负片的Java程序 //数组中的数字 公共阶级重组{ /*函数打印数组*/ 静态无效pri
另请参见:通过向posneg和merge方法添加谓词参数,可以轻松地对现有解决方案进行参数化,根据此参数,正值或负值将放置在数组的开头: 静态无效的posnegint[]arr,int l,int r,谓词p{ 如果l
Input: {1,7,-5,9,-12,15,-6,-8}
Output:{-5,-12,-6,-8,1,7,9,15}
Input: {1,7,-5,9,-12,15,-6,-8}
Output:{1,7,9,15,-5,-12,-6,-8}
int[] arr = {1,7,-5,9,-12,15,-6,-8};
int arr_size = arr.length;
rearrangePosNeg(arr, 0, arr_size - 1, (x) -> x > 0); // put positives first
printArray(arr, arr_size);
1 7 9 15 -5 -12 -6 -8
int[] arr = {1,7,-5,9,-12,15,-6,-8};
System.out.println("iterative: " + Arrays.toString(rearrange(arr, (x) -> x > 0)));
iterative: [1, 7, 9, 15, -5, -12, -6, -8]