6-2 折半查找 (15分)

给一个严格递增数列,函数int Search_Bin(SSTable T, KeyType k)用来二分地查找k在数列中的位置。

函数接口定义:

int  Search_Bin(SSTable T, KeyType k)

其中T是有序表,k是查找的值。

裁判测试程序样例:


#include <iostream>
using namespace std;#define MAXSIZE 50
typedef int KeyType;typedef  struct
{ KeyType  key;
} ElemType;  typedef  struct
{ ElemType  *R; int  length;
} SSTable;                      void  Create(SSTable &T)
{ int i;T.R=new ElemType[MAXSIZE+1];cin>>T.length;for(i=1;i<=T.length;i++)cin>>T.R[i].key;
}int  Search_Bin(SSTable T, KeyType k);int main ()
{  SSTable T;  KeyType k;Create(T);cin>>k;int pos=Search_Bin(T,k);if(pos==0) cout<<"NOT FOUND"<<endl;else cout<<pos<<endl;return 0;
}/* 请在这里填写答案 */

输入格式:

第一行输入一个整数n,表示有序表的元素个数,接下来一行n个数字,依次为表内元素值。 然后输入一个要查找的值。

输出格式:

输出这个值在表内的位置,如果没有找到,输出"NOT FOUND"。

输入样例1:

5
1 3 5 7 9
7

输出样例1:

4

输入样例2:

5
1 3 5 7 9
10

输出样例2:

NOT FOUND

答案样例:

int Search_Bin(SSTable T, KeyType k) {//创作不易,点个赞吧,新春快乐~int low=1, high=T.length;while(low <= high) {int mid = (low+high)/2;if(T.R[mid].key == k)return mid;else if(k < T.R[mid].key)high = mid-1;elselow = mid+1;}return 0;
}

感谢您的阅读,点个赞吧❤⭐
哔哩哔哩/bilibili:羊卓的杨
公众号:羊卓的杨

6-2 折半查找 (15分)_数据结构实验7_羊卓的杨相关推荐

  1. 6-5 二叉树的层次遍历 (6分)_数据结构实验5_羊卓的杨

    6-5 二叉树的层次遍历 (6分) 本题要求实现给定的二叉树的层次遍历. 函数接口定义: void Levelorder(BiTree T); T是二叉树树根指针,Levelorder函数输出给定二叉 ...

  2. 6-7 拓扑排序 (10分)_数据结构实验6_羊卓的杨

    6-7 拓扑排序 (10分) 试实现拓扑排序算法.函数void FindInDegree(ALGraph G,int indegree[])实现图中各个顶点入度的统计:函数int Topologica ...

  3. 6-2 统计二叉树结点个数 (10分)_数据结构实验5_羊卓的杨

    6-2 统计二叉树结点个数 (10分) 本题要求实现一个函数,可统计二叉树的结点个数. 函数接口定义: int NodeCount ( BiTree T); T是二叉树树根指针,函数NodeCount ...

  4. 基础编程题目集 6-13 折半查找 (15 分)

    问题描述: 解题思路: 考察二分查找的基本代码实现 解题代码: int Search_Bin(SSTable T, KeyType k) {int i = 1; //头int j = T.length ...

  5. 6-4 链表拼接 (20分)_数据结构之链表

    在面试过程中,数据结构和算法基本上算是研发类岗位必考的部分,而链表基本上又是数据结构中相对容易掌握.而且容易出题的部分,因此我们先整理一下链表部分的经典题目. (声明:以下所有程序都是用java编写) ...

  6. 数据结构折半查找算法C语言,数据结构C语言实现----折半查找

    运行结果: 代码如下: #include //数组初始化函数 void Array_get(int array[],int max) { printf("请输入一个数组,大小从低到高,各个数 ...

  7. 习题2.7 弹球距离 (15分) 浙江大学数据结构

    习题2.7 弹球距离 (15分) 设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下-.请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈值 ...

  8. 散列表查找 (15 分)

    设散列表a[18],散列函数是hask(k)=k%17,用开放地址法解决冲突hi=(h0+di)%m.冲突时采用平方探测法,使用增量序列di=i* i.计算输入序列(值>=0)对应的散列地址并进 ...

  9. matlab用辛普森公式求积分_数值计算实验9 数值积分实验

    实验9 数值积分实验 成绩 实验类型:●验证性实验  ○综合性实验  ○设计性实验 实验目的:进一步熟练掌握变步长数值积分算法,提高编程能力和解决定积分问题的实践技能. 实验内容:用龙贝格积分算法计算 ...

  10. 数据结构三元组实验报告_数据结构实验报告

    实验一 约瑟夫问题 实验学时: 3 学时 实验类型:设计 实验要求:必修 一.实验目的 熟练掌握线性链表的基础知识: 能够使用 C++ 或其他程序设计语言编程实现线性链表: 能够使用线性链表构造正确而 ...

最新文章

  1. 通讯组基本管理任务一
  2. let/var——事实上var的设计可以看成JavaScript语言设计上的错误. 但是这种错误多半不能修复和移除, 以为需要向后兼容.||将let看成更完美的var
  3. 数据挖掘的最佳学习清单
  4. SSH运维总结-【liunx学习】
  5. linux——rpm的详细说明
  6. suse redhat 查看系统版本
  7. LXC C API 使用
  8. C# MVC 自定义ActionResult实现EXCEL下载
  9. datatable刷新数据_UE4 利用SaveGame和CSV进行Runtime数据更新
  10. python 编译成exe vmp加密_[分享]某vmp壳原理分析笔记
  11. 应用comsol模拟水力压裂应力分布
  12. Windows10 Hero默认壁纸(11色)
  13. 【精选】申请免费的服务器
  14. DMS/BSD/ADAS
  15. 计算机管理文件破坏怎么办,文件损坏,教您电脑文件损坏怎么修复
  16. 轻松玩转微信公众号排版
  17. html li 圆点 大小,ul li 定制圆点,list-style-image调整图片圆点大小 与 文字和图片排版...
  18. java mq编程_MQ java 基础编程
  19. Codeforces Round #271 (Div. 2) F ,E, D, C, B, A
  20. BAPI_BILLINGDOC_CREATEMULTIPLEdoesntcreateheadertexts_SAP刘梦_新浪博客

热门文章

  1. itest监考机制_iTEST系统
  2. 结构化思维,让你的工作有条不紊
  3. 公司测试用例评审的简单介绍
  4. 计算反转录转座子插入时间一:计算原理
  5. Darkside勒索病毒的网络防御措施
  6. Volatility2.6用法
  7. 如何测试蓝牙设备的延时
  8. 重装win10系统(家庭版和专业版)
  9. android studio和风天气,AndroidSDK——和风天气使用初体验
  10. ddl是什么意思网络语_DDL(数据定义语言)