双向链表 添加与遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | package com.pay.test; //定义节点 public class DoubleLinkedList { //初始化头节点 private HeroNode head= new HeroNode( 0 , "" , "" ); //返回节点头 public HeroNode getHead(){ return head; } /** * 双向链表节点遍历 */ public void list(){ if (head.next== null ){ System.out.println( "链表为空" ); return ; } HeroNode temp= head.next; while ( true ){ if (temp== null ){ break ; } //输出节点信息 temp.print(); temp=temp.next; } } public void add(HeroNode heroNode2 ){ HeroNode temp=head; while ( true ){ if (temp.next== null ){ break ; } temp= temp.next; } temp.next=heroNode2; heroNode2.pre=temp; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | package com.pay.test; public class DoubleLinkedListTest { public static void main(String[] args) { HeroNode heroNode1= new HeroNode( 1 , "张三" , "张三风" ); HeroNode heroNode2= new HeroNode( 2 , "李四" , "李四一" ); HeroNode heroNode3= new HeroNode( 3 , "王五" , "王老五" ); HeroNode heroNode4= new HeroNode( 4 , "赵六" , "赵老六" ); HeroNode heroNode5= new HeroNode( 5 , "刘七" , "刘老七" ); HeroNode heroNode6= new HeroNode( 6 , "王八" , "王老八" ); DoubleLinkedList list= new DoubleLinkedList(); list.add(heroNode1); list.add(heroNode2); list.add(heroNode3); list.add(heroNode4); list.add(heroNode5); list.add(heroNode6); list.list(); } } |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决