下面是一个用 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]

Java 算法:高效移动负整数至线性表前部

原文地址: https://www.cveoy.top/t/topic/pgT8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录