#include"iostream"
using namespace std;
class list{
private:int data[30];int length;int key[5];int link[5];
public:list(){cout << "元素个数为:" << endl ;cin >> length ;cout << "请输入顺序表元素" << endl ;for(int i=0;i<length;i++){cin >> data[i];}int j=0;i=0;while(j<=25&&i<5){key[i]=data[j];for(int m=j;m<j+5;m++)key[i]=key[i]>data[m]?key[i]:data[m];link[i]=j;j+=5;i++;}}int idxsearch(int k){int s=length/5;int low=0;int high=4;while(low<=high){int mid=(low+high)/2;if(key[mid]>=k)high=mid-1;elselow=mid+1;}cout << high << endl ;int i;i=link[high+1];while(i<=link[high+1]+s-1&&data[i]!=k)i++;if(i<=link[high+1]+s-1)return i+1;return 0;}
};void main()
{list a;int key;cout << "请输入关键字" << endl ;cin >> key ;cout << "关键字的编号为: " << a.idxsearch(key) << endl ;
}

设计一个程序,在顺序表中采用分块查找发查找关键字。相关推荐

  1. java设计一个顺序表类的成员函数,用java编写一个逐个输出顺序表中所有数据元素的成员函数...

    import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public s ...

  2. 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分

    题目 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分 解答(天勤) /*************************** ...

  3. c语言创建空顺序表的程序,用C语言编写一个完整的程序,实现顺序表的建立、插入、删除、输出等基本运算。...

    #include #include #define maxsize 30 typedef int datatype; typedef struct seqlist{ datatype data[max ...

  4. 编写一个程序实现顺序栈(假设栈中元素类型为char)的各种基本运算

    编写一个程序实现顺序栈(假设栈中元素类型为char)的各种基本运算,并在此基础上设计一个主程序完成如下功能: (1)初始化顺序栈S; (2)判断顺序栈S是否为空: (3)依次进栈元素a,b,c,d,e ...

  5. C++实现双栈结构(一个顺序表中使用两个栈)

    因为平常栈中push的数据不会太多,为了节约空间,所以可以在一个顺序表中使用两个栈 结构图: 在这里我会留一个空间用来判断栈是否满! #include <iostream> using n ...

  6. c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...

    //从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值.空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行. include include define MAXSI ...

  7. 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素

    题目 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素 #include<iostream>using namespace std; #define OK ...

  8. 顺序表中有效元素的长度_408数据结构之顺序表进阶(1)

    此文章系列为保存考研复习时的所有代码 顺序表进阶: 从顺序表中删除具有最小值的元素(假设唯一)并有函数返回被删元素的值,空出的位置由最后一个元素填补,若顺序为空则显示错误信息并退出运行: bool D ...

  9. c语言线性顺序表,C语言程序——线性顺序表.doc

    C语言程序--线性顺序表.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

最新文章

  1. 寒武纪开盘暴涨350%,市值突破1000亿,85后创始人身家超300亿!千亿盛宴背后隐忧不可忽视!...
  2. bom头解释方法和去掉方法
  3. 使用 flex 实现 5 种常用布局
  4. 如何发表cscd核心论文_教育论文发表时几种核心期刊介绍
  5. SpringBoot+Jquery+Jstree实现企业架构管理
  6. 【转】ABP源码分析十四:Entity的设计
  7. torch.randn与torch.rand的区别
  8. python 插入排序 与 冒泡排序
  9. android drawable 对象,Android Drawable开发简介
  10. 软件设计师10-面向对象-设计模式
  11. 在线CSV转XML工具
  12. JAVA有没有比robot更好用的_使用Java/Python提高工作效率01-Java Robot类
  13. Mysql自定义Sequence-实现序列自增功能
  14. 如何在虚拟机安装并使用NTFS for Mac 15
  15. 决策控制方法:sequential 规划、behavior-aware规划、端到端规划
  16. sirikit_iOS 12 Siri捷径SiriKit
  17. ImportError: _C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops6narrow4callERKNS_6Ten
  18. ATX电源故障导致某些主板不能启动
  19. 透过现象看本质,如何针对用户做好需求分析
  20. NETDMIS5.0偏置构造平面2023

热门文章

  1. 华为aaa服务器是什么系统,华为aaa认证服务器-portal认证与aaa服务器什么关系
  2. DF-700滤桶 四个角扣具漏水问题
  3. 通俗讲解分布式锁:场景和使用方法
  4. 【1.skynet网络剖析】
  5. #个人日记-电影《哆啦A梦:伴我同行2》观后感-20210530
  6. 思考未来--马云说:30年后的世界不属于互联网公司
  7. 打开Spyder出现You have missing dependencies
  8. 2020双非通信跨考江南大学软件工程专硕
  9. week1:字符格式化输出,数据类型,for循环,break,continue,标志位
  10. 云计算课程 DAY 1