设计一个程序,在顺序表中采用分块查找发查找关键字。
#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 ;
}
设计一个程序,在顺序表中采用分块查找发查找关键字。相关推荐
- java设计一个顺序表类的成员函数,用java编写一个逐个输出顺序表中所有数据元素的成员函数...
import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public s ...
- 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分
题目 有一个顺序表L,其元素为整形数据,设计一个算法,将L中的所有小于表头元素的整数放在前半部分,大于表头元素的整数放在后半部分 解答(天勤) /*************************** ...
- c语言创建空顺序表的程序,用C语言编写一个完整的程序,实现顺序表的建立、插入、删除、输出等基本运算。...
#include #include #define maxsize 30 typedef int datatype; typedef struct seqlist{ datatype data[max ...
- 编写一个程序实现顺序栈(假设栈中元素类型为char)的各种基本运算
编写一个程序实现顺序栈(假设栈中元素类型为char)的各种基本运算,并在此基础上设计一个主程序完成如下功能: (1)初始化顺序栈S; (2)判断顺序栈S是否为空: (3)依次进栈元素a,b,c,d,e ...
- C++实现双栈结构(一个顺序表中使用两个栈)
因为平常栈中push的数据不会太多,为了节约空间,所以可以在一个顺序表中使用两个栈 结构图: 在这里我会留一个空间用来判断栈是否满! #include <iostream> using n ...
- c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...
//从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值.空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行. include include define MAXSI ...
- 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素
题目 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素 #include<iostream>using namespace std; #define OK ...
- 顺序表中有效元素的长度_408数据结构之顺序表进阶(1)
此文章系列为保存考研复习时的所有代码 顺序表进阶: 从顺序表中删除具有最小值的元素(假设唯一)并有函数返回被删元素的值,空出的位置由最后一个元素填补,若顺序为空则显示错误信息并退出运行: bool D ...
- c语言线性顺序表,C语言程序——线性顺序表.doc
C语言程序--线性顺序表.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...
最新文章
- 寒武纪开盘暴涨350%,市值突破1000亿,85后创始人身家超300亿!千亿盛宴背后隐忧不可忽视!...
- bom头解释方法和去掉方法
- 使用 flex 实现 5 种常用布局
- 如何发表cscd核心论文_教育论文发表时几种核心期刊介绍
- SpringBoot+Jquery+Jstree实现企业架构管理
- 【转】ABP源码分析十四:Entity的设计
- torch.randn与torch.rand的区别
- python 插入排序 与 冒泡排序
- android drawable 对象,Android Drawable开发简介
- 软件设计师10-面向对象-设计模式
- 在线CSV转XML工具
- JAVA有没有比robot更好用的_使用Java/Python提高工作效率01-Java Robot类
- Mysql自定义Sequence-实现序列自增功能
- 如何在虚拟机安装并使用NTFS for Mac 15
- 决策控制方法:sequential 规划、behavior-aware规划、端到端规划
- sirikit_iOS 12 Siri捷径SiriKit
- ImportError: _C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops6narrow4callERKNS_6Ten
- ATX电源故障导致某些主板不能启动
- 透过现象看本质,如何针对用户做好需求分析
- NETDMIS5.0偏置构造平面2023