美文网首页
利用二分法和递归求数组中的最小值

利用二分法和递归求数组中的最小值

作者: crabor | 来源:发表于2018-04-16 19:52 被阅读0次

利用二分法和递归求数组中的最小值

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define M 10

typedef int ElemType;

ElemType Min(int a[], int i, int j ) {
  int mid;
  ElemType min, min1, min2;
  if (i == j) {
    min = a[i];
  } else {
    mid = (i + j) / 2;
    min1 = Min(a, i, mid);
    min2 = Min(a, mid + 1, j);
    min = min1 < min2 ? min1 : min2;
  }
  return min;
}

int main(void){
    int a[M];
    int min;
    srand((unsigned)time(NULL));
    for (int i = 0; i < M;i++){
        a[i] = rand() % 101;
        printf("%d ", a[i]);
    }
    printf("\n");
    min = Min(a, 0, M - 1);
    printf("The min number is: %d", min);
    return 0;
}

相关文章

网友评论

      本文标题:利用二分法和递归求数组中的最小值

      本文链接:https://www.haomeiwen.com/subject/xzzekftx.html