`

单链表的建立及逆置代码,方法二

 
阅读更多
public class Test {

/**
* @param args
*/
public static void main(String[] args) {

 //单边链表的生成与反转,方法二
		int []arr={3,5,1,2,4};
		ListTest listTest=new ListTest();
		Node  head=listTest.create(arr);
	    Node sourNode=head;
		while(sourNode!=null){
			System.out.print("  "+sourNode.getValue());
			sourNode=sourNode.getNext();
		}
		System.out.println(" ");
		Node reNode=listTest.revers(head);
		while(reNode!=null){
			System.out.print("  "+reNode.getValue());
			reNode=reNode.getNext();
		}

}

} 



public class ListTest {
public Node create(int []arr) {
		Node head=new Node(arr[0]);
		Node cur=null;
		Node tempNode=null;
		for (int i = 1; i < arr.length; i++) {
			tempNode=new Node(arr[i]);
			if(i==1){
				head.setNext(tempNode);
			}else {
				cur.setNext(tempNode);
			}
			cur=tempNode;
		}
		return head;
		
	}
	public  Node revers(Node head){
		if((null==head)||(null==head.getNext())){
			return head;
			
		}
		Node pPre=head;
		Node pNext=null;
		Node  curNode=pPre.getNext();
		while(curNode!=null){
			
			pNext=curNode.getNext();
			curNode.setNext(pPre);

			pPre=curNode;
			curNode=pNext;
		}
		head.setNext(null);
		return pPre;
	}

}

package com.List.sym;

public class Node {
     private int value;
     private Node next;
     public  Node(int value){
    	 this.value=value;
     }
	public int getValue() {
		return value;
	}

	public void setValue(int value) {
		this.value = value;
	}

	public Node getNext() {
		return next;
	}

	public void setNext(Node next) {
		this.next = next;
	}

}







分享到:
评论

相关推荐

    单链表逆置c语言数据结构.cpp

    输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 Input 输入多个整数,以-1作为结束标志。 Output 输出逆置后的单链表数据。 ...

    单链表逆置

    单链表逆置部分代码,应该有用,第一次上传文件

    用C语言实现单链表的各种操作(一)

    例如,单链表的逆置,单链表的合并,找到单链表的中间节点等的算法实现。下面这个是单链表的结构体的定义: 代码如下:typedef struct LNode{ ElemType data; struct LNode *next;}LinkList;下面的基本的单链表的...

    数据结构原代码(包括线性表 链表 树性表)

    讲解数据结构的常见算法及其代码,以及整个程序原代码,适合广大初级以及入门朋友学习 参考!数据结构与算法基本程序目录 一、 线性表及其操作 1、 尾插法建立一个单链表,并按顺序输出 2、 单链表的元素查找,按...

    数据结构实验原代码

    数据结构实验链栈代码(单链表的建立与输出,合并,删除重复值,逆置 )

    数据结构课程设计作业+源代码+文档说明

    线性表综合题 (1) 按照输入的顺序建立顺序表 (2) 对顺序表进行排序(直接插入、冒泡、选择、快速、合并) (3) 按照由大到小的顺序建立一个单链表 (4) 链表逆置 (5) 将顺序表和链表合并成一个有序表。...

    数据结构与算法教学大纲程序代码

    二:内容:1、已知带头结点的动态单链表L中的结点是按整数值递增排序的,试写一算法将值为x的结点插入到表L中,使L仍然有序。 2、设计一算法,逆置带头结点的动态链表L。要求利用原表的结点空间,并要求用尽可能少的...

    数据结构报告c++代码+截图

    2、理解和掌握单链表的类型定义方法和结点生成方法。 3、掌握单向链表的插入、删除算法及其应用算法的程序实现。 四、实验内容: 1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2、遍历单向...

    leetcode下载-CppPracticeCode:Cpp实践代码

    单链表建立 单链表测长 单链表打印 单链表节点查找 单链表节点插入 单链表节点删除 单链表逆置 寻找单链表中间元素&lt;参考书上&gt; /* 解决办法(时间复杂度O(n)): 1.设置两个指针:middle中间元素、current当前遍历的...

    数据结构实验

    2. 掌握单链表基本操作及两个有序表归并、单链表逆置等操作的实现。 二 、实验要求 1.预习C语言中结构体的定义与基本操作方法。 2.对单链表的每个基本操作用单独的函数实现。 3.编写完整程序完成下面的实验内容并...

    数据结构(C++)有关练习题

    &lt;br&gt;实验二 单链表结构及计算 实验目的: 通过实验掌握下列知识: 1、熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; 2、继续熟悉VC编程、编译和调试环境; 内容及步骤:...

    C程序范例宝典(基础代码详解)

    实例098 头插入法建立单链表 132 3.3 栈和队列 133 实例099 应用栈实现进制转换 133 实例100 用栈设置密码 135 实例101 栈实现行编辑程序 138 实例102 括号匹配检测 141 实例103 用栈及递归计算多项式...

Global site tag (gtag.js) - Google Analytics