`
keating
  • 浏览: 170034 次
  • 性别: Icon_minigender_1
  • 来自: weihai
社区版块
存档分类
最新评论

关于链表小程序的学习笔记

 
阅读更多
public class Node{
    int cargo;
    Node next;

    public Node(){
      cargo=0;
      next=null;
    }

    public Node(int cargo,Node next){
      this.cargo=cargo;
      this.next=next;
    }

    public String toString(){
      return cargo+"";
    }

	public static void main(String args[]){
	  //Node nd=null;
	  //printBackward(nd);
	  Node node3=new Node(3,null);
	  Node node2=new Node(2,node3);
	  Node node1=new Node(1,node2);
	  printList(node1);
      printBackwardNicely(node1);
	  
	  printList(addFirst(0,node1));
	}

	public static void printList(Node list){
	  Node node=list;
	  System.out.print("(");
	  while(node!=null){
	    System.out.print(node);
		if(node.next==null){
		  break;
		}else{
		  System.out.print(",");
		  node=node.next;
		}
	  }
	  System.out.print(")");
	  System.out.println();
	}

	public static void printBackward(Node list){
	  if(list==null)  return;
      //if(list==null) System.out.println(list);

	  Node head=list;
	  Node tail=list.next;

	  printBackward(tail);
	  System.out.print(head+",");
      //递归为从后向前打印而生!
	  //相当于在print外加一个while循环
	}

	public static void printBackwardNicely(Node list){
	  System.out.print("(");

	  if(list!=null){
	    Node head=list;
		Node tail=list.next;
		printBackward(tail);
		System.out.print(head);
	  }
	  System.out.println(")");
	}

     /*
	 printBackwordNicely()的妙处;将第一个
     节点的tail调用printBackward()(每一个节点都输出“,”)
	 而后,输出最后的(head)。这样使最后一个head
	 不跟随","
	 */

	 //愿意含糊定理:
	 //一个引用节点的变量,既可以仅仅代表该节点对象本身,
	 //但也可以代表节点所在链表的第一个对象。

	public static Node addFirst(int i,Node node)
	{
	   Node newNode=new Node(i,node);
	   return newNode;
	}
}


1
0
分享到:
评论

相关推荐

    算法学习笔记.pdf

    在本篇算法学习笔记中,对一系列重要且常用的算法进行了整理和总结,以下是对文档内容中提及的知识点的详细解读。 一、快速排序算法 快速排序是一种高效的排序算法,采用分治法策略,它的时间复杂度平均为O(nlogn)...

    数据结构笔记之线性表(-):静态链表表示与实现

    因此,在实际应用中,静态链表常用于小规模数据的存储,或者对内存使用有严格限制的环境。 理解并实现静态链表有助于深化对数据结构的理解,特别是在考虑内存管理和效率平衡时。通过阅读和分析`static_linear_list....

    数据结构和算法学习笔记(经典)

    这份“数据结构和算法学习笔记(经典)”的PDF文档很可能包含了丰富的理论与实践内容,旨在帮助读者掌握这些关键概念。 1. **数据结构**:数据结构是指在计算机中组织和存储数据的方式,它决定了数据的操作效率和...

    数据结构与算法分析学习笔记

    这份“数据结构与算法分析学习笔记”由罗聪编著,包含了丰富的源代码实例,旨在帮助读者深入理解并掌握这些关键概念。 数据结构是组织和管理数据的方式,它包括数组、链表、栈、队列、树、图等。数组是最基本的数据...

    Java数据结构学习笔记

    ### Java数据结构学习笔记知识点详解 #### 一、数据结构与算法基础 1. **数据结构定义** - 数据结构是一门研究组织数据方式的学科,它与编程语言紧密相关,是实现高效程序设计的基础。 - 在软件开发中,合理选择...

    浙大C程序设计听课学习笔记

    【浙大C程序设计听课学习笔记】是一份深入学习C语言的重要资料,主要涵盖了浙江大学C程序设计课程的核心知识点。这份笔记旨在帮助学习者系统地掌握C语言编程的基础和高级概念,提升编程技能,并能理解计算机科学的...

    算法与数据结构学习笔记

    这本"算法与数据结构学习笔记"涵盖了这两个核心概念的详细讲解,对于任何想要深入理解计算机科学原理、提高编程技能的人来说,都是一份宝贵的资源。 算法,简单来说,就是解决特定问题的步骤或指令集。它在计算机...

    C Primer Plus学习笔记

    《C Primer Plus学习笔记》是一份为初学者准备的学习资源,旨在帮助读者理解和掌握C语言的基础知识。笔记可能包含作者在学习过程中的一些个人理解和错误,因此需要读者在使用时加以审阅和补充。 第一章介绍了`...

    C语言视频教程-谭浩强版-小甲鱼主讲-学习笔记.zip

    【标题】"C语言视频教程-谭浩强版-小甲鱼主讲-学习笔记.zip"揭示了这是一份以C语言为主题的视频教学资源,由知名编程教育家谭浩强的经典教材为基础,由网络知名讲师小甲鱼进行讲解。这份教程可能包含一系列的视频...

    我的C语言学习笔记

    本学习笔记旨在为初学者提供一个清晰的C语言学习路径,通过一系列小程序和项目的实践,帮助读者逐步掌握C语言的核心概念。 1. **基本语法和数据类型** C语言的基础包括变量、常量、数据类型(如int、char、float等...

    java学习笔记

    ### Java学习笔记知识点详解 #### 一、Java面向对象编程思想 面向对象编程(Object-Oriented Programming, OOP)是Java的核心特性之一。通过封装、继承和多态这三个基本特征来实现。OOP能够提高代码的复用性和可...

    阿里P8 架构师整理Java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 一、JVM与内存管理 **1.1 JVM基本概念** - **JVM(Java Virtual Machine)**: Java虚拟机是执行Java字节码的虚拟机,它提供了运行Java程序所需的环境。 **1.2 线程** - **线程...

    小码哥《恋上数据结构与算法》学习笔记.zip

    本套学习笔记包含了丰富的实例、讲解和练习,旨在让读者从理论到实践全面了解这一领域。 数据结构是存储和组织数据的方式,它直接影响到算法的效率。常见的数据结构包括数组、链表、栈、队列、哈希表、树(二叉树、...

    cpp-算法学习笔记

    【cpp-算法学习笔记】是一份专注于C++编程语言的算法学习资源,旨在帮助开发者深入理解和掌握各种基础及高级算法。这份笔记包含了丰富的实例、解释和练习,是C/C++开发人员提升算法技能的理想教材。在C++这个强大的...

    计算机专业词汇词典微信小程序

    对于“计算机专业词汇词典微信小程序”,开发者可能利用了小程序的搜索功能让用户能快速定位到所需词汇,同时可能还实现了收藏、笔记等功能,便于用户记录和复习。 在设计上,此小程序可能采用了简洁明了的界面,以...

    数据结构(C语言描述)学习笔记.zip

    本学习笔记将深入探讨C语言描述的数据结构及其应用。 首先,我们要了解基本的数据结构类型。这些包括: 1. **数组**:是最基本的数据结构,它是一组相同类型的元素集合,通过索引访问。在C语言中,数组可以是一维...

    算法和数据结构学习笔记.zip

    《算法和数据结构学习笔记》是一份全面深入的IT学习资料,主要涵盖了计算机科学中至关重要的两个基础领域:算法和数据结构。这份压缩包文件包含了作者ljg_resource1的个人学习资源,旨在帮助读者理解并掌握这两部分...

    uC/OS-II内核分析、移植与驱动程序开发学习笔记

    ### uC/OS-II 内核分析、移植与驱动程序开发学习笔记 #### uC/OS-II概述 uC/OS-II(通常简称为uCOS-II)是一款广泛应用于嵌入式系统的实时操作系统(RTOS)。它主要面向资源有限的微控制器(MCU),提供了任务调度...

    算法数据结构学习笔记-C语言.zip

    《算法数据结构学习笔记-C语言》是一份专为新手设计的C语言学习资源,它将带你深入探索C语言的世界,并逐步掌握算法与数据结构的基本概念和应用。在C语言这个强大的编程工具下,理解并运用算法和数据结构是提升编程...

Global site tag (gtag.js) - Google Analytics