zoukankan      html  css  js  c++  java
  • 4.用递归正/逆序打印一个数组所有元素。

     1 #include <stdio.h>
     2 //逆序打印数组所有元素,四个写法
     3 void func1_1(int* p,int i)//每个层递归的功能:打印第i下标上的元素(前需打印i+1下标上的元素)。
     4                           //多层合起来的功能就是打印了第a[0]-a[9]元素的逆序
     5 {
     6     if(i == 9)
     7         printf("%d
    ",p[i]);
     8     else//普通情况递推公式,打印i元素之前,得先打印i+1的元素
     9     {
    10         func1_1(p,i+1);
    11         printf("%d
    ",p[i]);
    12     }
    13 }
    14 void func1_2(int* p,int i)//功能:打印第a[0]-a[9]元素的逆序
    15 {
    16     if(i != 9)
    17     {
    18         func1_2(p,i+1);
    19     }
    20     printf("%d
    ",p[i]);
    21  
    22 }
    23  
    24 void func2_1(int *p, int i, int len)
    25 {
    26     if(i == len-1)
    27     {
    28         printf("%d
    ",p[i]);
    29     }
    30     else
    31     {
    32         func2_1(p,i+1,len);
    33         printf("%d
    ",p[i]);
    34     }
    35 }
    36  
    37 void func2_2(int *p, int i, int len)
    38 {
    39     if(i != len-1)
    40     {
    41         func2_1(p,i+1,len);
    42     }
    43     printf("%d
    ",p[i]);
    44 }
    45  
    46 int main(void)
    47 {
    48     int arr[10] = {0,1,2,3,4,5,6,7,8,9};
    49     func1_1(arr,0);
    50     func1_2(arr,0);
    51     func2_1(arr,0,10);
    52     func2_2(arr,0,10);
    53     return 0;
    54 }
  • 相关阅读:
    参考博客
    拆包
    python2和python3关于列表推导的差别
    salt Rosters
    list.sort和内置方法sorted的区别
    关于在元祖中+=
    runners
    DataGridView合并单元格
    Android之TelephonyManager类的方法详解
    Android应用自动更新功能的代码实现
  • 原文地址:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9464969.html
Copyright © 2011-2022 走看看