/*线性表的遍历总结*/
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;
}
线性表遍历方法总结
最新推荐文章于 2023-01-09 10:29:21 发布