zoukankan      html  css  js  c++  java
  • C语言 -- 折半查找小程序


    #include <stdio.h>

    int searchNum(int *arr, int num, int len);

    int main(int argc, const char * argv[]) {
        
        int a[9] = {3, 0, -5, 88, 99, 100, -10, 50, 20};
        int i = 0, j = 0;
        int num;
        printf("please input a number: ");
        scanf("%d", &num);
        int temp;
        int length = sizeof(a) / sizeof(a[0]);
        for(; i < length; i++){
            for(j = i + 1; j < length; j++){
                if(a[i] > a[j]){
                    temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }
        
        int res = searchNum(a, num, length);
        
        if(res != -1){
            printf("Find it. ");
        }else{
            printf("Not found. ");
        }
        
        return 0;
    }

    int searchNum(int *arr, int num, int len){
        int max = len-1, min = 0;
        int mid = (max + min) * 0.5;
        while(num != arr[mid]){
            if(num > arr[mid]){
                min = mid + 1;
            }else if(num < arr[mid]){
                max = mid - 1;
            }
            if(min > max){
                return -1;
            }
            mid = (max + min) * 0.5;
        }
        return mid;
        
    }

  • 相关阅读:
    域渗透[WinRM]
    域渗透[DCSync]利用
    LLMNR中间人及WPAD劫持
    274. H-Index
    75. Sort Colors
    46. Permutations
    31. Next Permutation
    subsets
    86. Partition List
    82. Remove Duplicates from Sorted List II
  • 原文地址:https://www.cnblogs.com/lianfu/p/5143556.html
Copyright © 2011-2022 走看看