Java数据结构之链表反转
来源:互联网 发布:手机慢动作软件 编辑:程序博客网 时间:2024/04/28 06:10
思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用。通过互换相邻两个节点的引用来达到链表反转的效果。上代码:
5 4 3 2 1
package com.withiter.test;public class ReverseList {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubNode nodeLink = add("1", null);add("2", nodeLink);add("3", nodeLink);add("4", nodeLink);add("5", nodeLink);print(nodeLink);nodeLink = reverse(nodeLink);print(nodeLink);}public static Node add(String name, Node head) {if (head == null) {return new Node(name);} else {Node p = head;while (p.next != null) {p = p.next;}p.next = new Node(name);return head;}} // 反转的核心方法public static Node reverse(Node head){if(head == null){return null;}Node p = head;Node q = head.next;p.next = null;while(q != null){Node temp = q.next; q.next = p; p = q; q = temp; }return p;}public static void print(Node head) {if (head == null) {System.out.println("null");} else {Node p = head;while (p != null) {System.out.print(p.name + "\t");p = p.next;}System.out.print("\n");}}}class Node {public Node(String name) {super();this.name = name;}public String name; // 自身标志public Node next; // 指向下一个节点的引用}
运行打印结果:
1 2 3 4 55 4 3 2 1
0 0
- Java数据结构之链表反转
- 【Java数据结构】Java数据结构之链表反转
- 数据结构之链表反转
- 数据结构之反转链表
- 数据结构之链表反转
- 数据结构之Java单链表反转
- 好好学习数据结构之链表反转
- 数据结构与算法之反转链表
- 数据结构与算法之链表反转
- 数据结构(二)之链表反转
- 数据结构(二)之链表反转
- 5.数据结构单链表之链表反转
- java之链表反转
- 反转链表[数据结构]
- 反转链表[数据结构]
- 链表反转-数据结构
- 数据结构:链表操作之反转链表
- 数据结构与算法之链表(三)单链表反转
- Javascript闭包--循环中可以将每个对象当参数进行传递
- HTML字符实体(Character Entities),转义字符串(Escape Sequence)
- 检查输入是否为空并提示
- ArcGIS.Server.9.3和ArcGIS API for JavaScript地图map控件基本参数设置(三)
- 组装电脑
- Java数据结构之链表反转
- pc端测试webservice
- Android 如何建立AIDL
- 我的好妈妈
- 找出有环链表中环的起始节点
- CloudFoundry部署(四):CF部署
- 数据库sqlite3 创建 增 删 查 改 操作
- ArcGIS.Server.9.3和ArcGIS API for JavaScript地图实现Toorbar功能(四)
- 物联网成为黑客攻击目标,2013年全球有超过5.52亿个身份信息被泄露