• 数据结构


    //实验内容:
    //在待查找序列中查询指定的数据元素
    
    #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
                         
    }
  • 相关阅读:
    python调包——hashlib加密
    初识-图论基础+拓扑排序的实现
    初识 基本数据结构和stl
    【寒假作业三】-带着作业的幌子打开影视剧的奇妙体验和学会挂作业的机
    scapy模块的学习
    【寒假作业三】——高级代码拼接工人的养成(改)
    寒假作业二-自救指南(网络基础)
    【寒假作业一】-编写踩雷指南
    寒假作业一-Github部分
    markdown基础(试水)
  • 原文地址:https://www.cnblogs.com/tanbo/p/15665863.html
Copyright © 2020-2023  润新知