zoukankan      html  css  js  c++  java
  • 数据结构

    //实验内容:
    //在待查找序列中查询指定的数据元素
    
    #include<stdio.h>
    #include<stdlib.h>
    
    //函数声明
    
    int main()
    {
        //定义能存储5个整数的一维数组,初始化为3,5,6,8,9
           int data[5]={3,5,6,8,9};
       //提示用户输入要查找的数据(可以是数组中存在的数据,也可以是数组中不存在的数据)
           printf("请输入要查找的数据:");
      //读入该数据,存储到变量key中
           int key;
           scanf("%d",&key);
      //调用折半查找函数,查找该数据,如果查找成功则返回该数据在数组中的下标,如果查找失败则返回-1
           int result;
           result=BinarySearch(data,key,5);
      //输出查找结果
           if(result==-1) printf("不存在这个数据!");
           else printf("数据%d在数组中的下标为%d",key,result);
    
      return 0;
    }
    int BinarySearch(int a[],int key,int n)
    //折半查找函数,在存储n个数据的数组a中查找给定的元素key,如果查找成功则返回该数据在数组中的下标,如果查找失败则返回-1
    {
       //定义变量low和high,分别用于存储搜索空间的第一个元素下标和最后一个元素下标
    
      //初始化low为0,high为n-1
    
      //当low<=high时,循环在数组a[]中查找给定的元素key
         while(low<=high)
         {
             //定义整型变量middle,用于存放搜索空间的中间元素的下标
    
             //计算中间元素的下标,存储到middle变量中
    
             //比较key变量中的值和a[middle]中的值
    	//如果key==a[middle],则返回middle
    
    	//如果key<a[middle],则修改high变量为middle-1
    
    	//如果key>a[middle],则修改low变量为middle+1
    
         }
         //退出循环意味着low>high,查找失败,返回-1
                         
    }
  • 相关阅读:
    玩转车联网1---初识OBD和行车助手
    Confluence DotNet API发布
    深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图
    猜想豌豆夹,360手机助手,腾讯手机管家,小米盒子传屏等工具开发思路
    有用文章搜藏
    Hbase Region Server整体架构
    无密码ssh操作步骤备忘
    cgwin的ssh错误解决办法
    Java系列笔记(1)
    SQL四种语言:DDL,DML,DCL,TCL
  • 原文地址:https://www.cnblogs.com/tanbo/p/15665863.html
Copyright © 2011-2022 走看看