链表—简单实现按编号的排序单链表
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~
希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!!
加油吧!未来可期!!!
接着无排序单链表的学习,简单实现按照排序单链表,该单链表是通过按照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 + '\'' + '}'; }}
代码实现效果: