zoukankan      html  css  js  c++  java
  • 数学趣题——递归法寻找最小值

    1、题目

    从一个整数序列中找出最小的元素,并用递归的方法实现

    2、源码(二分序列递归)

       1: #include <stdio.h>
       2:  
       3: int getMin(int array[], int n)
       4: {
       5:     int val1, val2, val3;
       6:  
       7:     if(n == 1) return array[0];
       8:  
       9:     if(n % 2 == 0)
      10:     {
      11:         val1 = getMin(array, n / 2);
      12:         val2 = getMin(array + n / 2, n / 2);
      13:  
      14:         if(val1 < val2)
      15:             return val1;
      16:         else
      17:             return val2;
      18:     }
      19:  
      20:     if(n % 2 != 0)
      21:     {
      22:         val1 = getMin(array, n / 2);
      23:         val2 = getMin(array + n / 2 + 1, n / 2);
      24:         val3 = array[n/2];
      25:  
      26:         if(val1 < val2)
      27:         {
      28:             if(val1 < val3) return val1;
      29:             else return val3;
      30:         }
      31:         else
      32:         {
      33:             if(val2 < val3) return val2;
      34:             else return val3;
      35:         }
      36:     }
      37: }
      38:  
      39: int main()
      40: {
      41:     int array[9] = {11, 13, 23, 56, 8, 23, 11, 23, 111}, val;     /*测试的数组,其中元素8为最小值*/
      42:     val = getMin(array, 9);                        /*调用递归函数getMin获得最小值*/
      43:     printf("%d", val);
      44:     printf("The minum element of this array is %d \n", val);
      45:     return 0;
      46: }
  • 相关阅读:
    数据库读现象 数据库锁
    Mysql索引
    视图 触发器 内置函数 流程控制 事务 存储过程
    pymysql模块
    表相关操作
    初识数据库
    python 进程
    python常见错误和异常
    python课程设计--学生管理系统
    python-类的多态的理解
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/1744946.html
Copyright © 2011-2022 走看看