大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~
希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!!
加油吧!未来可期!!!
通过学习,简单实现无排序单链表,该单链表是通过按照代码执行顺序来对单链表依次插入节点,无关HeroNode.no的值的大小。 实现代码如下: package linkedlist;/* <---这是包名 -*- coding:utf-8 -*- 作者:bob-coding 日期:2022年04月01日12:42 冲冲冲!!!*/ public class SingleLinkedListDemoO1 { public static void main(String[] args) { //进行测试 //先创建节点 HeroNode hero1 = new HeroNode(1,"a","a"); HeroNode hero2 = new HeroNode(1,"b","b"); HeroNode hero3 = new HeroNode(1,"c","c"); HeroNode hero4 = new HeroNode(1,"d","d"); SingleLinkedList singleLinkedList = new SingleLinkedList(); singleLinkedList.add(hero1); singleLinkedList.add(hero4); singleLinkedList.add(hero2); singleLinkedList.add(hero3); singleLinkedList.list(); } } 定义SingleLinkedList 管理我们的英雄 class SingleLinkedList{ private HeroNode head = new HeroNode(0,"",""); //加入节点 public void add(HeroNode heroNode){ HeroNode temp = head; while(true){ //找到链表的最后 if(temp.next == null){ break; } temp = temp.next; } //当退出while循环时,temp就指向了链表的最后 //将最后这个节点的next 指向 新的节点 temp.next = heroNode; } //遍历显示链表 public void list(){ //判空 if(head.next == null){ System.out.println("链表为空"); return; } HeroNode temp = head.next; while(true) { //找到链表的最后 if (temp == null) { break; } System.out.println(temp); temp = temp.next; } } } //定义HeroNode , 每个HeroNode 对象就是一个节点 class HeroNode{ public int no; public String name; public String nickname; public HeroNode next; public HeroNode(int no, String name, String nickname) { this.no = no; this.name = name; this.nickname = nickname; } @Override public String toString() { return "HeroNode{" + "no=" + no + ", name='" + name + '\'' + ", nickname='" + nickname + '\'' + '}'; } }