数据结构
Youapi
就读于三里庵职业技术大学,非计科,偶尔写写代码
展开
-
双向链表的一些操作(Java)
如何根据值创建有序双向链表package clwAhu;import java.util.Scanner;public class DoubleLinkListDemo { public static void main(String[] args) { DoubleLinkList linkList = new DoubleLinkList(); linkList.add(2); linkList.add(1); lin原创 2021-07-26 22:51:12 · 128 阅读 · 0 评论 -
反转单链表
/*** 根据链表的头节点反转单链表* curr遍历整个链表 next指向curr的前一个节点 prev指向curr的前一个节点* 返回的是链表的第一个节点,而非头节点*/public static LinkNode reverseLinkList(LinkNode head){ LinkNode prev = null; LinkNode curr = head; while(curr != null){ ListNode next = curr原创 2021-07-26 11:08:46 · 101 阅读 · 0 评论 -
单链表的基本操作(Java)
已实现的操作增删查,改不难,后面考虑写不写单链表中节点按升序排列返回链表长度合并两个有序单链表(基于递推实现,递归的方式个人还未完全理解,算法力扣上有,B站也有相关视频)返回链表的倒数第k个节点未实现的操作单链表的反转(这两天会写完~~)package clwAhu;public class SingleLinkListDemo { public static void main(String[] args) { Node node1原创 2021-07-25 23:31:35 · 471 阅读 · 0 评论 -
合并两个有序单链表(Java实现)
算法步骤指针p1、p2初始化,分别指向l1、l2的第一个结点指针p3初始化,指向l1的头结点当p1p2都没有到达链表的尾部时,从l1或l2中摘取较小的元素放入l3的尾部当p1或p2已经到达了链表的尾部时,直接把没有到达的剩余链表全部插入到l3的尾部public LinkList MergeTwoLinkList(LinkList l1,LinkList l2){ Node p1 = l1.head.next; Node p2 = l2.head.next; Node p3 = l1.h原创 2021-07-25 08:36:05 · 510 阅读 · 1 评论