`
yzmduncan
  • 浏览: 330287 次
  • 性别: 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  
谢谢,今天刚好有人问我这个问题,结果没有答上来,看了你这篇文章才恍然大悟。

相关推荐

    JAVA数据结构——单链表的操作.docx

    在Java编程中,数据结构是组织、存储和处理数据的重要工具。单链表是一种基本的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用。在给定的文档中,主要介绍了如何在Java中实现...

    java第一次作业 单链表逆序

    在Java编程语言中,单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的引用。这次的作业“单链表逆序”旨在让你理解链表的基本操作以及如何通过编程实现链表的逆序。下面...

    简单的单链表逆序 非递归

    在计算机科学领域,数据结构是组织、管理和存储数据的有效方式之一,它使数据访问和修改更为高效。其中,链表是一种常见的线性数据结构,由一系列节点组成,每个节点包含数据元素和指向下一个节点的链接。单链表是非...

    单链表逆序(简明,易懂)

    单链表逆序(简明,易懂) 单链表逆序(简明,易懂) 单链表逆序(简明,易懂)

    单链表逆序详解

    单链表逆序详解   1、具有链表头的单链表 一段单链表逆序的程序  (2)取p3保留p2-&gt;next p3=p2-&gt;next;  将p2插入p1之前 p2-&gt;next = p1;  p1指向p2指向的节点 p1=p2;  p2指向p3指向的节点 p2=p3;

    算法实现:Java单链表逆序

    有一次,我去陆家嘴一家银行面试,面试官给我出了一道算法编程题,用Java实现单链表逆序,不到10分钟,我就写出来了,拿到了offer。 但是当时是写在纸上的,我用手机拍了下来,然后回去又在电脑上把代码敲了下来,...

    单链表逆序

    单链表逆序是数据结构领域中的一个常见操作,它涉及到对链表节点顺序的反转。在本场景中,我们将详细探讨如何实现这个过程,包括单链表的基本概念、逆序算法的步骤以及如何在实际编程中应用这些概念。 首先,我们...

    单链表的合并(递归-非递归)以及将单链表逆序

    单链表是数据结构中的一种基本结构,它是一种顺序存储的链式结构。单链表的合并是指将两个或多个单链表合并成一个单链表,而保持原来的顺序。单链表的逆序是指将单链表的 顺序反转。 单链表的合并(非递归) ...

    实验二--单链表逆序排列.pdf

    实验二--单链表逆序排列.pdf

    c++ 单链表的逆序排列 正确

    单链表的逆序排列,用的是c++语言的,程序正确能够运行,易懂

    单链表逆序与排序

    linux 下 c语言实现 单链表的逆序与排序, 包含测试程序, 编译时需加-DTEST

    java实现的单链表及逆序显示

    昨天到笔试,没想到出了这么一个题,用java实现单链表,并把它逆序,输出,我晕了半天,回来才做出来,不知道还有没有用?!

    C语言实现单链表逆序与逆序输出实例

    总结来说,单链表的逆序输出和逆序操作是数据结构和算法的基础知识,它们对理解和实现更复杂的链表操作如排序、查找等具有重要意义。熟练掌握这些技能有助于提升编程能力,特别是在处理动态数据结构的问题时。通过...

    java单链表逆序用法代码示例

    在计算机科学中,链表是一种常见的数据结构,而单链表是其中最基础的形式。单链表由一系列节点组成,每个节点包含数据和指向下一个节点的引用(通常称为`next`)。逆序一个单链表意味着将链表中的节点顺序颠倒,使得...

    数据结构 单链表(顺或逆序链式存储结构)

    数据结构还是很重要的,就算不是那种很牛逼的,但起码得知道基础的东西,这一系列就算是复习一下以前学过的数据结构和填补自己在这一块的知识的空缺。加油。珍惜校园中自由学习的时光。按照链表、栈、队列、排序、...

    java实现单链表之逆序

    在Java编程中,单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用。单链表逆序是指将链表中的元素顺序颠倒,使得原本的第一个元素变为最后一个,原本的最后一个...

    创建单链表,逆序输入

    创建单链表,单链表逆序输入,最终正序输出。是用以独立函数写出

    利用栈来实现单链表的逆序

    在计算机科学领域,数据结构是组织和存储数据的方式之一,而算法则是处理这些数据的方法。单链表是一种常见的线性数据结构,它通过节点之间的指针连接来存储数据。栈是一种后进先出(LIFO)的数据结构,它支持两种...

    Java数据结构与经典算法——高手必会

    Java数据结构与经典算法是计算机科学中的核心主题,对于任何想要成为高级程序员的人来说,这些都是必不可少的知识。这些概念不仅有助于优化代码性能,而且对于理解和解决复杂问题至关重要。 首先,我们来看看大 O ...

Global site tag (gtag.js) - Google Analytics