`

线性表遍历方法总结

 
阅读更多
/*线性表的遍历总结*/

package com.yangyang.array;

public class ListDisplay {

	//迭代法
	public static void display(int[] arrays,int first,int last)
	{
		while(first<=last)
		{
			System.out.println(arrays[first++]);
		}
	}
	//递归法,主要考虑边界问题
	
	public static void display1(int[] arrays,int first,int last)
	{
		System.out.println(arrays[first]);
		if(first<=last)
		{
			
			display1(arrays,first+1,last);
		}
	}
	public static void display2(int[] arrays,int first,int last)
	{
		if(first<=last)
		{
			display2(arrays,first,last-1);
			System.out.println(arrays[last]);
		}
	}
	
	public static void display3(int arrays [] ,int first ,int last){   
		  
	    if(first==last){   
	        System.out.println(arrays[first]);   
	    }else {   
	           
	        int mid = (first+last)/2;   
	        display3(arrays,first,mid);   
	        display3(arrays,mid+1,last);    
	    }   
	       
	}   
	  
	public static void display4(int arrays [] ,int first ,int last){   
	  
	    if(first==last){   
	        System.out.println(arrays[first]);   
	    }else {   
	           
	        int mid = (first+last)/2;   
	        display4(arrays,first,mid-1);   
	        System.out.println(arrays[mid]);   
	        display4(arrays,mid+1,last);    
	    }   
	       
	}  
	
	//遍历链表
	public static void  displayChain(Node  nodeone){   
		  
	     if(nodeone!=null){   
	            
	          System.out.println(nodeone.data+" ");   
	          displayChain(nodeone.next);     
	     }   
	} 
	
	//如果想以相反的顺序输出,用递归:   
	public static void displayBackChain(Node nodeone){
	   if(nodeone!=null){
	    displayBackChain(nodeone.next);
	    System.out.println(nodeone.data);
	    }
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}


class Node
{
  int data;
  Node next;
}


分享到:
评论

相关推荐

    数据结构总结(自学、期末复习或考研备用).pdf

    第一章绪论、算法衡量指标、第二章线性表、顺序表、链表、第三章栈和队、栈、栈的应用举例、队列、循环队列、第四章串、串的模式匹配、第五章数组和广义表、稀疏矩阵的压缩存储方法:、广义表、第六章树和二叉树、...

    计算机二级C语言考试题预测

    (53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A) 注:P38,前提要掌握三种遍历的方法 A. cedba B. acbed C. decab D. deabc (54) 在下列几种排序方法中,要求内存量最大的是(D) 注...

    小甲鱼_数据结构与算法(98集全)

    道01数据结构和算法绪论.... mp4 立98总结回顾.mp4画65_最短路径(迪杰斯特拉算法).mp466_最短路径( 弗洛伊德算法) . mp4口67拓扑排序. mp4二68关键路径.mp4口69_查找算法. mp4 画69关键路径(代码讲解).mp4

    数据结构习题答案(全部算法)严蔚敏版

    9.7 内部排序总结 9.8 有关排序算法的C语言源程序 9.9 多路归并用于外排序的简介 习题九 第10章 文件 10.1 文件的基本概念 10.1.1 文件 10.1.2 外存储器及信息特点 10.2 文件的组织 10.2.1 顺序文件 ...

    C++数据结构知识点与经典算法整理

    2、线性表 20 4、串 23 5、多维数组和广义表 24 6、树与二叉树 24 7、图 26 8、查找(search) 27 9、内部排序 28 2、排序算法的稳定性 29 3、C/C++实现 31 4、对排序算法的总结 41 11、数组和链表的优缺点 42 12、...

    川大-- 数据结构考点精讲课程原版 [MP4]

    网络视频资源,如有侵权请留言/举报,资源过大上传乃是下载链接!!!! 1.1.1线性表的逻辑结构1_10 ], r3 `2 t% j& ?...42.6.7各种排序方法的综合比较5 e8 p% s* L$ Y- P3 G+ K 43.章节总结及典型例题分析

    2019数据结构与算法实验报告.doc

    线性表的逻辑特征;栈,二叉树构造、二叉树遍历,图的遍历、拓扑排序等,,文字代码应有尽有,大学数据结构必备报告。

    程序员宝典

    程序员笔试知识点总结整理。包括:常考基础必知必会;二叉树三种遍历的非递归算法;线性表;树与二叉树;图;单源最短路径;等。

    传智播客扫地僧视频讲义源码

    03_用面向过程和面向对象方法求解圆形面积_类和对象的关系思考_传智扫地僧 04_类中不写成员函数易犯错误模型 05-易犯错误模型-为什么需要成员函数(补充资料)-传智扫地僧 06_课堂答疑类中写成员函数_调用的时才会执行...

    二级C语言公共基础知识

    总结 D. 都不正确 (18) 下述关于数据库系统的叙述中正确的是______。(A) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理...

    leetcode跳跃-DataStructure_And_Algorithms:算法虐我千百遍,我待算法如初恋

    对一些系统性的知识写文章,进行系统性的总结,按章节来 矩阵、广义表、图的知识学习 剑指offer一书的习题 刷leetcode题 线性表 顺序存储 链式存储 双向链表 循环链表(约瑟夫环) 静态链表 双向循环链表 栈 顺序栈 ...

    数据结构第九章 查找作业及答案(100分).docx

    对二叉排序树进行层序遍历可得到有序序列 C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大 D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/2 2.在有n个结点且为完全...

    约瑟夫环leetcode-algorithm-learn-start:算法学习开始

    总结 一、什么是链表? 1.和数组一样,链表也是一种线性表。 2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 3.链表中的每一个内存块被称为节点...

    cpp-算法精粹

    线性表 数组 Remove Duplicates from Sorted Array Remove Duplicates from Sorted Array II Longest Consecutive Sequence Two Sum 3Sum 3Sum Closest 4Sum Remove Element Move Zeroes Next Permutation ...

Global site tag (gtag.js) - Google Analytics