我是靠谱客的博主 伶俐眼睛,最近开发中收集的这篇文章主要介绍设计一个程序,在顺序表中采用分块查找发查找关键字。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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;
else
low=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 ;
}

最后

以上就是伶俐眼睛为你收集整理的设计一个程序,在顺序表中采用分块查找发查找关键字。的全部内容,希望文章能够帮你解决设计一个程序,在顺序表中采用分块查找发查找关键字。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部