首页 > 其他分享 >单双链表

单双链表

时间:2023-04-16 23:31:34浏览次数:32  
标签:pre head DoubleNode public 双链 next 节点

单链表

定义

//单链表
public static class Node{
    public int value;
    public Node next;

    public Node(int data){
        value = data;
    }
}

单链表反转

新增1、2、3三个节点

单双链表_双链表

public static Node reverseLinkedList(Node head){
    Node pre = null;
    Node next = null;
    while (head != null){
        //保存下next节点
        next = head.next;
        //头节点指针指向pre
        head.next = pre;
        //pre指向head节点
        pre = head;
        //head指向下一个节点
        head = next;
    }
    return pre;
}

双链表

定义

//双链表
public static class DoubleNode{
    public int value;
    public DoubleNode last;
    public DoubleNode next;

    public DoubleNode(int data){
        value = data;
    }
}

双向链表反转

新增1、2、3三个节点

单双链表_双向链表_02

public static DoubleNode reverseDoubleList(DoubleNode head){
    DoubleNode pre = null;
    DoubleNode next = null;
    while (head != null){
        //保存下next节点
        next = head.next;
        //头节点next指针指向pre
        head.next = pre;
        //头节点last指针指向next
        head.last = next;
        //pre指向head节点
        pre = head;
        //head指向下一个节点
        head = next;
    }
    return pre;
}





标签:pre,head,DoubleNode,public,双链,next,节点
From: https://blog.51cto.com/u_5774355/6193869

相关文章

  • 双链表
    双链表双链表有两个指针,一个指向前一个指向后,数组模拟链表实现思想双链表有两个指针,一个指向前一个指向后,故定义三个数组\(l[N],r[N],val[N]\)\(l[N]指向的是当前......
  • 基于API+MQ消息双链路数据同步中间件技术方案
    一、数据同步的背景及意义随着公司业务的发展,业务系统也会变得越来越复杂繁多,业务数据或分散、或冗余于各个业务系统中,增加了数据的管理难度和维护成本。因此,中心......
  • 双链表
    图示:  代码:  1importlombok.Data;23publicclassDoubleLinkedListTest{4publicstaticvoidmain(String[]args){5Doubl......
  • list双链表
    structlistnode{structlistnode*next;structlistnode*prev;void*data;};structlist_head{ structlist_head*next,*prev;};/*Linkedlistof......
  • 双链表实现双端队列
    双链表实现双端队列双端队列是一个从两端都可以进行进队出队的队列。代码:/***使用双链表实现双端队列*双端队列也就是在队列的两端都可以进行出队列以及入队列......
  • 双链表
    实现一个双链表,双链表初始为空,支持5 种操作:在最左侧插入一个数;在最右侧插入一个数;将第k 个插入的数删除;在第k 个插入的数左侧插入一个数;在第k 个插入的数右侧插......
  • 双链表
    //e[]表示节点的值,l[]表示节点的左指针,r[]表示节点的右指针,idx表示当前用到了哪个节点inte[N],l[N],r[N],idx;//初始化voidinit(){//0是左端点,1是右端点......
  • 双链表实现栈,和队列
    packageclass03;importjava.util.LinkedList;importjava.util.Queue;importjava.util.Stack;/***双链表实现栈,和队列*/publicclassCode03_DoubleEndsQu......
  • 单链表,双链表反转
    packageclass03;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;/***单链表,双链表反转*/publicclassCode01_ReverseLis......
  • JAVA--LinkedList底层双链表添加元素超详细
     集合里面存储的都是对象    添加第一个元素    添加第二个元素    依次往后添加对象/元素。   first指向linkedList集合里存储的第......