03算法與數據結構-創新互聯

單向鏈表的反轉

創新互聯從2013年創立,是專業互聯網技術服務公司,擁有項目成都做網站、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宜良做網站,已為上家服務,為宜良各地企業和個人服務,聯系電話:028-86922220
// 1 ->2 ->3 ->null
// 3 ->2 ->1 ->null
public static SingleNode reverse(SingleNode head) {
        SingleNode next = null;
        SingleNode pre = null;
        while (head != null) {
            // 使用next變量 將下一個節點保存下來
            next = head.getNext();
            // 然后將 head的指針指向 前一個,因為要做反轉操作
            head.setNext(pre);
            // 在開始下一次循環的時候 把當前的這個節點保存下來
            pre = head;
            // 然后將指針 移動到下一個節點
            head = next;
        }
        // 最后因為head已經移動到null的位置,所以要將head的前一個節點作為結果返回,然后在用變量接收這節點
        return pre;
}

雙向鏈表的反轉

public static DoubleNode reverse(DoubleNode head) {
        DoubleNode next = null;
        DoubleNode pre = null;
        while (head != null) {
            // 使用變量保留下一個節點
            next = head.getNext();
            // 后指針指向前
            head.setNext(pre);
            // 前指針指向后
            head.setPre(next);
            // 然后把當前節點進行記錄 放到前面
            pre = head;
            // 然后把指針向后移動
            head = next;
        }
        return pre;
    }

在單鏈表當中刪除給定的值

public static SingleNode deleteNum(SingleNode head, String value) {
        while (head != null) {
            // 找第一個不符合的節點來作為頭
            if (!head.getValue().equals(value)) {
                break;
            }
            head = head.getNext();
        }

        SingleNode pre = head;
        SingleNode cur = head;
        while (cur != null) {
            if (cur.getValue().equals(value)) {
                // 如果相同,代表這個節點需要被刪除
                pre.setNext(cur.getNext());
            }else {
                pre = cur;
            }
            cur = cur.getNext();
        }
        return head;
    }

    public static SingleNode generateChain() {
        SingleNode node1 = new SingleNode("1");
        SingleNode node2 = new SingleNode("2");
        SingleNode node3 = new SingleNode("1");
        SingleNode node4 = new SingleNode("3");

        node1.setNext(node2);
        node2.setNext(node3);
        node3.setNext(node4);
        node4.setNext(null);
        return node1;
    }

    public static void main(String[] args) {
        SingleNode node = deleteNum(generateChain(), "1");
        while (node != null) {
            System.out.print(node.getValue() + ",");
            node = node.getNext();
        }
    }
棧和隊列

棧:先入后出 類似彈夾

隊列:先入先出 類似排隊

哈希表和有序表

在java當中 Hashmap 就是哈希表,并且他的所有增刪改查所有操作時間復雜度都為O1

在java當中TreeMap 就是有序表,這個有序表擁有哈希表全部的功能,并且,可以根據

key進行排序

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

當前標題:03算法與數據結構-創新互聯
地址分享:http://m.kartarina.com/article0/cdcsoo.html

成都網站建設公司_創新互聯,為您提供網站制作ChatGPT、網站設計、品牌網站建設、域名注冊、網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 午夜无码中文字幕在线播放| 国产在线观看无码免费视频| 亚洲AV永久青草无码精品| 亚洲av日韩av高潮潮喷无码 | 天堂Av无码Av一区二区三区| 中字无码av电影在线观看网站| 亚洲AV日韩AV永久无码色欲| 亚洲AV无码一区二区三区国产| 国产aⅴ无码专区亚洲av| 免费无码AV片在线观看软件| 国产爆乳无码视频在线观看| 无码一区二区三区爆白浆| 波多野结AV衣东京热无码专区| 亚洲AV色吊丝无码| 永久免费AV无码网站国产| 黄色成人网站免费无码av| 曰韩精品无码一区二区三区| 亚洲成A人片在线观看无码3D| 在线观看无码AV网址| 国产精品无码无需播放器| 在线观看无码的免费网站| 精品人妻大屁股白浆无码| 国产AV巨作情欲放纵无码| 午夜无码中文字幕在线播放| 国产精品久久久久无码av| 亚洲AV无码一区二区二三区入口 | 亚洲爆乳精品无码一区二区三区| 亚洲av无码一区二区三区乱子伦| 无码人妻一区二区三区兔费| 亚洲一本到无码av中文字幕| 久久久久无码精品国产不卡| 天码av无码一区二区三区四区| 亚洲av无码成人影院一区| 国产成人无码AV片在线观看| 国外AV无码精品国产精品| 少妇无码AV无码专区线| 无码夫の前で人妻を侵犯| 91无码人妻精品一区二区三区L| 无码专区AAAAAA免费视频| 亚洲av无码专区在线播放| 国产精品99精品无码视亚|