> 文档中心 > 链表—简单实现按编号的排序单链表

链表—简单实现按编号的排序单链表

大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~

希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!!

加油吧!未来可期!!!

接着无排序单链表的学习,简单实现按照排序单链表,该单链表是通过按照HeroNode.no的大小顺序,来对单链表依次插入节点。实现代码如下:
package linkedlist;/*  heroNode.no){//位置找到,就在temp的后面插入  break;     }else if(temp.next.no == heroNode.no){//说明希望添加的heroNode的编号已然存在  flag = true;  break;     }     //temp.next.no < heroNode.no     temp = temp.next; } //判断flag 的值 if(flag){     System.out.printf("将插入的结点已经存在,该结点为%d 无法插入",heroNode.no); }else{//插入结点     heroNode.next = 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 + '\'' +  '}';    }}

代码实现效果: