zoukankan      html  css  js  c++  java
  • 有15个数按从大到小的顺序存放在一个数组中, 用折半查找法找出该数是数组的第几个元素的值, 如果该数不在数组中,则输出“无此数”

    //2017年7月22日
    #include <stdio.h>
    #define LEN 15
    
    int main(){
        int n;
        void binSearch(int * p,int n);
        int arr[LEN]={98,97,88,87,76,70,65,54,43,42,39,36,35,31,29};
        printf("请输入要查找的数:
    ");
        scanf("%d",&n);
        binSearch(arr,n);
        return 0;
    }
    
    void binSearch(int * p,int n){
        int low,high,mid;
        low=0;
        high=LEN-1;
    
        while(low<=high){
            mid=(low+high)/2;
            if(p[mid]==n)
            {printf("%d是数组的第%d个元素的值(下标从0开始)
    ",n,mid);
             break;//注意找到该元素之后,就结束循环
            }
                else if(p[mid]>n) low = mid+1;
                        else high = mid-1;
        }
        if(low>high) printf("数组中无此数");
    
    }
  • 相关阅读:
    tkinter TEXT
    tkinter
    threading.Event
    lambda demo
    Tomcat性能调优
    Tomcat优化
    BeautifulSoup库的使用
    正则的基本使用
    Urllib库的基本使用
    初识爬虫
  • 原文地址:https://www.cnblogs.com/Allen-win/p/7220625.html
Copyright © 2011-2022 走看看