java实现链表反转
2015-11-25 16:05
471 查看
-Node.java
-LinkList.java
-Main.java
-LinkList.java
-Main.java
Node.java源码 public class Node{ public int data; public Node next; public Node(int data){ this.data = data; this.next = null; } }
LinkList.java源码 /** *该类只包含三个方法 */ public class LinkList{ private Node root; /** *向链表中插入数据 */ public void insert(int data){ Node cur = root; if(root == null){ root = new Node(data); return; } while(cur.next != null){ cur = cur.next; } cur.next = new Node(data); } /** *反转链表 *比如:4->6->2 *反转后:2->6->4 */ public Node invertedList(){ Node cur = null; //指向当前节点 Node pre = null; //指向前一节点 Node next = null; //指向后一节点 if(root == null) return; cur = root; while(cur != null){ next = cur.next; cur.next = pre; pre = cur; cur = next; } //修改头节点 root = pre; return root; } /** *打印链表 */ public void print(){ Node cur = root; if(root == null) return; while(cur != null){ System.out.print(cur.data + " "); cur = cur.next } } }
Main.java源码 public class Main{ public static void main(String[] args){ LinkList list = new LinkList(); list.insert(4); list.insert(8); list.insert(9); list.insert(3); list.print(); list.invertedList(); System.out.println("\r\n" + "========="); list.print(); } }
相关文章推荐
- 工作总结
- java字符转义和替换
- 从Eclipse迁移到Android Studio
- [转]java中的基本数据类型和引用数据类型
- SSH:Struts2框架(Action的配置)
- java.util.concurrent.Semaphore
- 使用atomikos处理ActiveMQ在Spring环境的XA事务
- java.util.concurrent.Exchanger
- spring security 安全框架remember me,demo学习
- 【JavaEE】SSH+Spring Security基础上配置AOP+log4j
- java.util.concurrent.CyclicBarrier
- 学习struts2 (1)
- java.util.concurrent.CountDownLatch
- Java集合---ArrayList的实现原理
- java学习笔记--java第一课,java入门基础篇
- Spring MVC 教程,快速入门,深入分析
- eclipse jad 反编译 插件安装
- 解决eclipse内存溢出
- spring mvc写XML的时候出现过的问题
- SSH框架学习(三、在struts基础上加入spring)