zoukankan      html  css  js  c++  java
  • 数据结构

    /**
     * 单链表逆反算法
     * @author 15735400536
     *
     */
    public class LinkedTest {
    	public static void main(String[] args) {
    		Node head = new Node(0);
    		Node node1 = new Node(1);
    		Node node2 = new Node(2);
    		Node node3 = new Node(3);
    		head.setNext(node1);
    		node1.setNext(node2);
    		node2.setNext(node3);
    		
    		/**
    		 * 打印正序单链表
    		 */
    		Node next = head;
    		while(null != next) {
    			System.out.print(next.getData() + " => ");
    			next = next.getNext();
    		}
    		
    		head = reversal(head);
    		System.out.println("
    *****************************");
    		while(null != head) {
    			System.out.print(head.getData() + " => ");
    			head = head.getNext();
    		}
    	}
    	
    	/**
    	 * 单向链表节点反转方法
    	 * @param node
    	 * @return
    	 * 描述:1. 先判断该链表是否只有node一个节点,是,返回节点
    	 * 	  2.否,递归 reversal()方法,返回最后一个节点,即逆向链表的head
    	 */
    	public static Node reversal(Node node) {
    		//System.out.println("
    " +node.getData() + " => " + node.getNext());
    		/**
    		 * 先判断该节点是为单节点
    		 */
    		if(null == node || null == node.getNext()) {
    			return node;
    		}
    		//逆向链表head => 3
    		Node newNode = reversal(node.getNext());
    		//获得下一个节点,设置下一个节点的下一个节点为前一个节点
    		node.getNext().setNext(node);
    		node.setNext(null);
    		return newNode;
    	}
    }
    
    class Node {
    	/**
    	 * 该节点存储的数据
    	 */
    	private Object data;
    	
    	/**
    	 * 下一个节点
    	 */
    	private Node next;
    	
    	public Object getData() {
    		return data;
    	}
    	
    	public Node getNext() {
    		return next;
    	}
    	
    	public void setData(Object data) {
    		this.data = data;
    	}
    	
    	public void setNext(Node next) {
    		this.next = next;
    	}
    	
    	public Node(Object data) {
    		this.data = data;
    	}
    	
    }
    

      

  • 相关阅读:
    js操作cookie
    非常好的前端报表控件,值得收藏一下
    html5 跳到拨打电话功能
    C# 判断客户端是PC还是手机登录
    Oracle RAW类型使用
    多条Json数据转换为泛型数据
    将指定的对象序列化成 JSON 数据。
    ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值
    http://v3.bootcss.com/getting-started/
    SQL日期比较 .
  • 原文地址:https://www.cnblogs.com/mxh-java/p/11044656.html
Copyright © 2011-2022 走看看