91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在java中使用有序鏈表

小樊
82
2024-09-14 06:59:52
欄目: 編程語言

在Java中,您可以使用LinkedList類來實現有序鏈表

import java.util.LinkedList;

public class OrderedLinkedList {
    public static void main(String[] args) {
        // 創建一個空的 LinkedList
        LinkedList<Integer> list = new LinkedList<>();

        // 添加元素到有序鏈表
        addInOrder(list, 5);
        addInOrder(list, 3);
        addInOrder(list, 7);
        addInOrder(list, 1);

        // 輸出有序鏈表
        System.out.println("Ordered LinkedList: " + list);
    }

    /**
     * 將指定元素添加到有序鏈表中
     * @param list 有序鏈表
     * @param value 要添加的值
     */
    public static void addInOrder(LinkedList<Integer> list, int value) {
        // 如果鏈表為空或新元素<=第一個元素,則將新元素添加到鏈表開頭
        if (list.isEmpty() || value <= list.getFirst()) {
            list.addFirst(value);
        } else {
            // 從頭遍歷鏈表,找到新元素應該插入的位置
            for (int i = 0; i< list.size() - 1; i++) {
                if (value > list.get(i) && value <= list.get(i + 1)) {
                    list.add(i + 1, value);
                    break;
                }
            }
            // 如果沒有找到合適的插入位置,說明新元素應該添加到鏈表末尾
            if (!list.contains(value)) {
                list.addLast(value);
            }
        }
    }
}

這個示例中,我們首先創建了一個空的LinkedList。然后,我們通過調用addInOrder()方法將元素按順序添加到鏈表中。最后,我們打印出有序鏈表。

addInOrder()方法會檢查鏈表是否為空,或者新元素是否應該添加到鏈表的開頭。接下來,它遍歷鏈表,找到新元素應該插入的位置。如果沒有找到合適的插入位置,說明新元素應該添加到鏈表末尾。

0
吉水县| 泸溪县| 竹北市| 瑞安市| 定南县| 中阳县| 布拖县| 界首市| 襄汾县| 舞阳县| 城市| 芜湖县| 乐亭县| 四川省| 肥乡县| 金华市| 马关县| 金昌市| 南召县| 淅川县| 乐安县| 如皋市| 来安县| 武川县| 收藏| 桑日县| 汉源县| 威信县| 大理市| 双桥区| 通河县| 临城县| 夹江县| 阳江市| 白山市| 蒙自县| 苏尼特右旗| 牙克石市| 静宁县| 驻马店市| 涿鹿县|