建立一个网站的英文,网站开发中 即将上线,杭州网站建站推广,私人制定网站1.理解 Java 如何构造出链表
在 Java 中#xff0c;我们创建一个链表类#xff0c;类中应当有两个属性#xff0c;一个是结点的值 val #xff0c;一个是该结点指向的下一个结点 next 。 next 通俗讲是一个链表中的指针#xff0c;但是在链表类中是一个链表类型的引用变量…1.理解 Java 如何构造出链表
在 Java 中我们创建一个链表类类中应当有两个属性一个是结点的值 val 一个是该结点指向的下一个结点 next 。 next 通俗讲是一个链表中的指针但是在链表类中是一个链表类型的引用变量这点是之前我会忽视的。所以根据面向对象的理论在 Java 里规范的链表应该定义为
public class ListNode {private int data;private ListNode next;public ListNode(int data){this.data data;}public int getData(){return data;}public void setData(int data){this.data data;}public ListNode getNext(){return next;}public void setNext(ListNode next){this.next next;}
}但是在算法题中为了精简会使用其他方式创建链表
public class ListNode{// 使用了公共权限可以直接访问到val和next的值public int val;public ListNode next;ListNode(int x){val x;next null;}
}
ListNode listnode new ListNode(1);2.链表增加元素时会有什么问题该如何处理
当链表为空即 head 为 null 的时候要插入的结点就是链表的头结点。当然也可以抛出不能插入的异常。
3.双向链表如何构造
双向链表就是每一个链表对象内部多存储一个前趋指针写一个算法题中的精简版本
public class DoublyListNode{public int val;public DoublyListNode prev;public DoublyListNode next;DoublyListNode(int x){val x;prev null;next null;}
}
DoublyListNode doublyListnode new DoublyListNode(1);4.双向链表如何实现元素的插入和删除
双向链表与单向链表的不同之处就是双向链表的插入和删除都需要修改前趋和后继指针。 如果对您有帮助请点赞关注支持我谢谢❤ 如有错误或者不足之处敬请指正❤