假设一个数组A,int[]A={1,3,-1,0,2,1,-4,2,0,1...N},原来是需要查出大于0的数组,但是由于传参错误或者其他原因,导致查出0和负数了,现在要求在不使用新数组和新集合的情况下(即只使用这个A数组,因为数组数据较大,且只能使用一次循环)实现正数放到数组前面,小于等于0的数放到数组的末尾(无需排序)
了解下排序算法
int[] a = {1, 3, -1, 0, 2, 1, -4, 2, 0, 1};
// 过滤小于0
System.out.println(Arrays.toString(Arrays.stream(a).filter(i -> i > 0).sorted().toArray()));
// 倒叙
System.out.println(Arrays.toString(Arrays.stream(a).sorted(Comparator.reverseOrder()).toArray()));
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632