`

遍历线性表总结

阅读更多
java 代码
  1. 我总结了一下显示数组的方法:   
  2. 迭代方法:   
  3. public static void display(int arrays [] ,int first ,int last){   
  4.   
  5.     while(first<=last){   
  6.         System.out.println(arrays[first++];   
  7.     }   
  8. }   
  9.   
  10.   
  11. 下面是递归方法:   
  12. public static void display(int arrays [] ,int first ,int last){   
  13.   
  14.     System.out.println(arrays[first]);   
  15.     if(first<last){   
  16.        
  17.          display(arrays,first+1,last);   
  18.     }   
  19. }   
  20.   
  21.   
  22. public static void display(int arrays[] ,int first,int last){   
  23.   
  24.     if(first<=last){   
  25.        
  26.         display(arrays,first,last);   
  27.         System.out.println(arrays[last]);   
  28.            
  29.     }   
  30. }   
  31.   
  32. public static void display(int arrays [] ,int first ,int last){   
  33.   
  34.     if(first==last){   
  35.         System.out.println(arrays[first]);   
  36.     }else {   
  37.            
  38.         int mid = (first+last)/2;   
  39.         display(arrays,first,mid);   
  40.         display(arrays,mid+1,last);    
  41.     }   
  42.        
  43. }   
  44.   
  45. public static void display(int arrays [] ,int first ,int last){   
  46.   
  47.     if(first==last){   
  48.         System.out.println(arrays[first]);   
  49.     }else {   
  50.            
  51.         int mid = (first+last)/2;   
  52.         display(arrays,first,mid-1);   
  53.         System.out.println(arrays[mid]);   
  54.         display(arrays,mid+1,last);    
  55.     }   
  56.        
  57. }   
  58.   

 

java 代码
  1. 下面是如何遍历一个链表:   
  2.   
  3. public static void  displayChain(Node  nodeone){   
  4.   
  5.      if(nodeone!=null){   
  6.             
  7.           System.out.println(nodeone.data+" ");   
  8.           displayChain(nodeone.next);     
  9.      }   
  10. }   
  11.   
  12.   
  13. 如果想以相反的顺序输出,如果用迭代只遍历N次,所以麻烦。然而可以用递归:   
  14. public static void displayBackChain(node nodeone){
  15.    if(nodeone!=null){
  16.     displayBackChain(nodeone.next);
  17.     System.out.println(nodeone.data);
  18.     }
  19. }
分享到:
评论

相关推荐

    线性表的基本操作的实验报告

    - 查找元素:遍历线性表找到指定元素的索引,找不到则返回-1。 - 插入元素:在指定位置插入元素,需要移动元素确保空间。 - 删除元素:根据给定的索引或元素值删除元素,调整数组内的元素顺序。 四、源代码: ...

    数据结构之线性表实验报告

    1. 获取当前元素的前一个数:通过遍历线性表,找到目标元素的前一个元素并返回。 2. 删除一个元素:定位到要删除的元素,然后将该位置之后的所有元素向前移动一位以填补空缺。 3. 插入一个元素:如果线性表未满,...

    C++线性表相关知识

    在给定的例子中,为了求两个线性表的并集A∪B,首先遍历线性表B,如果元素不在线性表A中,则将其插入到A的末尾。这个过程需要使用到`ListLength`,`GetElem`,`LocateElem`和`ListInsert`等操作。 线性表的操作时间...

    线性表实现插入删除数据

    通过遍历线性表,一旦找到目标元素即停止搜索并返回其位置。若未找到,函数将返回一个特定值,表示元素不存在于线性表中。 综上所述,上述代码片段展示了如何使用C语言实现基本的线性表操作,包括初始化、添加、...

    数据结构线性表总结.docx

    双向链表允许前后两个方向的遍历,插入和删除操作比单链表更灵活,但需要更多的存储空间。 初始化线性表的函数如`InitList_Sq`、`InitList_Link`、`InitList_Cir`和`InitList_Dul`分别用于顺序表、单链表、循环链表...

    数据结构实验报告1线性表的顺序存储结构.pdf

    然后,用户可以执行插入和删除操作,并在每次操作后遍历线性表以查看结果。这确保了所有操作的正确性和线性表状态的可视化。 7. **异常处理**:当输入的位置无效或线性表为空时,程序会返回相应的错误信息,避免了...

    数据结构 第2章 线性表.ppt

    此外,线性表的ADT还包含了几个基本操作,如构造和销毁线性表、判断是否为空、获取长度、查找元素的前驱和后继,以及遍历线性表等。 - **InitList**: 初始化线性表,创建一个空的线性表。 - **DestroyList**: ...

    数据结构中线性表的基本操作

    5. **遍历线性表**:从头到尾逐个访问线性表中的所有元素,适用于输出或处理所有元素。 6. **长度计算**:返回线性表的元素个数。顺序表直接返回数组长度,链表需遍历计数。 7. **排序**:对线性表进行排序,常见...

    数据结构线性表的创建

    遍历线性表是访问链表中所有元素的过程,通常从头结点开始,沿着指针域访问每个结点直到链表结束。 ```c void PrtList(LinkList* head) { LinkList* p; p = head-&gt;next; while (p != NULL) { printf("%d\t", p-&gt;...

    数据结构线性表的基本操作

    - 代码逻辑:遍历线性表,使用比较函数判断是否找到元素。 6. **从线性表中删除元素**(`ListDelete_sq`): - 功能:删除指定位置的元素。 - 输入参数:线性表`L`,删除位置`i`。 - 输出结果:删除元素后的...

    数据结构 实验报告 线性表及其应用(多项式相加、相乘)等

    两个多项式相加的过程可以通过遍历线性表来实现。定义两个指针 p 和 q 分别指向两个多项式,比较它们当前指向项的指数,如果相同,则合并系数;如果不同,则将指数较大的项添加到结果多项式中。这个过程直到一个...

    线性表的操作,看看吧

    - 遍历线性表的所有元素。 - 如果所有元素的值都为`0`,则返回`TRUE`表示线性表为空。 - 否则返回`FALSE`。 ### 5. 获取线性表长度 (ListLength) **函数原型**: ```c int ListLength(Sqlist L) ``` **功能概述**...

    很详细的数据结构-线性表的资料

    链式存储则是通过链表实现,每个元素(节点)包含数据和指向下一个节点的指针,插入和删除操作相对更灵活,但查找可能需要遍历链表。 线性表的顺序存储结构,也称为顺序表,它的主要操作包括初始化、判断是否为空、...

    S-xianxing.rar_visual c

    4. 查找元素:根据给定值查找元素,顺序遍历线性表直到找到目标元素或遍历结束。 5. 遍历操作:遍历线性表,打印或执行其他操作。 6. 释放内存:在不再需要线性表时,记得释放分配的内存,避免内存泄漏。 在Visual ...

    一般线性表

    - **ListTraverse(L, visit())**:遍历线性表L,对每个元素执行访问操作`visit()`。 - **加工型操作**:改变线性表的状态,如插入、删除元素等。 - **InsertElem(L, i, e)**:在位置`i`处插入元素`e`。 - **...

    数据结构线性表快速排序

    - 实现:遍历线性表的每个元素并输出。 - **主函数** `int main()`: - 功能:程序入口,用于执行排序及输出结果。 - 实现:初始化线性表`L`,调用`quick`函数进行快速排序,之后调用`visit`函数输出排序后的...

    数据结构课程chap02线性表.ppt

    基本操作包括构造和销毁线性表、判断线性表是否为空、获取线性表长度、查找元素的前驱和后继、获取指定位置的元素、定位元素、遍历线性表以及对线性表进行修改等。 **2.2 线性表的顺序映象实现** 顺序映象是指...

    数据结构线性表相关知识总结

    ### 数据结构线性表相关知识总结 #### 一、线性结构的特点 线性结构是数据结构中最基本的一种,其特点主要包括以下几点: 1. **唯一性**:线性结构中存在唯一的一个被称为“第一个”的数据元素,同样也存在唯一的...

    数组实现线性表 数据结构

    - **按值删除**:遍历线性表,找到匹配的元素并移除。 ```c status DelElem(Sqlist &L, Elemtype e) { int ok = L.length; for (int j = 0; j ; j++) { if (L.elem[j] == e) { for (; j ; j++) { L.elem[j...

    数据结构课件-线性表顺序表.ppt

    通过遍历线性表,比较相邻元素,如果发现重复则删除,直至遍历完整个线性表。 线性表的实现方式有两种主要形式:顺序存储和链式存储。顺序存储是将元素存储在一块连续的内存空间中,操作效率较高,但可能受到内存...

Global site tag (gtag.js) - Google Analytics