`
yzmduncan
  • 浏览: 326658 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

JAVA数据结构之——单链表的逆序

阅读更多

package com.java.duncan;
class Node {
	public int value;
	public Node next;
	public Node() {
		value = -1;
		next = null;
	}
	public Node(int i) {
		value = i;
		next = null;
	}
	public void add(Node head, Node add) {
		Node p = head;
		if(p == null) return;
		while(p.next != null) {
			p = p.next;
		}
		p.next = add;
	}
	public void print(Node head) {
		Node p = head;
		if(p == null) System.out.println("链表为空!");
		while(p != null) {
			System.out.print(p.value + " ");
			p = p.next;
		}
	}
	public void reversePrint(Node node) {
		if(node.next != null) {
			reversePrint(node.next);
			System.out.print(node.value + " ");
		}
	}
	
	public Node Reverse(Node head) {
		if(head==null || head.next==null) return head;
		Node p1 = head;
		Node p2 = head.next;
		Node p3 = p2.next;
		p1.next = null;
		while(p3 != null) {
			p2.next = p1;
			p1 = p2;
			p2 = p3;
			p3 = p3.next;
		}
		p2.next = p1;
		return p2;
	}
}

public class ReverseList {
	public static void main(String[] args) {
		Node head = new Node();
		for(int i = 1; i <= 10; i++) {
			head.add(head,new Node(i));
		}
		head.print(head.Reverse(head));
		//System.out.println();
		//head.reversePrint(head);
		
	}
}
 
分享到:
评论
2 楼 hanmiao 2012-11-09  
问题是这么问的:请使用 Java 的基本数据类型表示壹下单链表的结构,并写壹個通用的方法来将这個单链表反向排列。
1 楼 hanmiao 2012-11-09  
谢谢,今天刚好有人问我这个问题,结果没有答上来,看了你这篇文章才恍然大悟。

相关推荐

Global site tag (gtag.js) - Google Analytics