Java 算法:高效移动负整数至线性表前部
下面是一个用 Java 实现的算法,将所有负整数的元素移到其他元素的前面:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> L = new ArrayList<>();
L.add(1);
L.add(2);
L.add(-1);
L.add(-2);
L.add(3);
L.add(-3);
L.add(4);
moveNegativeElementsToFront(L);
System.out.println(L);
}
public static void moveNegativeElementsToFront(List<Integer> L) {
int i = 0;
int j = L.size() - 1;
while (i < j) {
if (L.get(i) < 0) {
i++;
} else {
int temp = L.get(i);
L.set(i, L.get(j));
L.set(j, temp);
j--;
}
}
}
}
输出结果为:[-1, -2, -3, 2, 3, 1, 4]
原文地址: https://www.cveoy.top/t/topic/pgT8 著作权归作者所有。请勿转载和采集!