博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分块查找算法
阅读量:5822 次
发布时间:2019-06-18

本文共 896 字,大约阅读时间需要 2 分钟。

问题:明白思想,其他的没什么,记得结构体为指针时一定要动态分配内存。

代码:

#include 
#include
using namespace std;#define MAXL 20typedef struct seq{ int key[MAXL]; int len;}data;typedef struct table{ int start; int end; int d;}index[4];int block_search(index s,data *list,int key) //分块查找{ int i=0; int j; while(i<4&&key>s[i].d) //确定块的地址 i++; if(i>=4) return -1; for(j=s[i].start;j<=s[i].end;j++) { if(list->key[j]==key) return j; } if(j>s[i].end) return -1;}int main(){ data *list; index s; int i,j,p; int key; cout<<"/"<<"分块查找"<<"/"<
>list->len; for(i=0;i
len;i++) { cin>>list->key[i]; } cout<<"output the list:"<
len;i++) { cout<
key[i]<<" "; } cout<
>s[j].start>>s[j].end>>s[j].d; } cout<<"please input the key:"; cin>>key; p=block_search(s,list,key); if(p==-1) cout<<"can not find"<

运行截图:

转载地址:http://ssbdx.baihongyu.com/

你可能感兴趣的文章
Nginx + Tomcat (java )服务器部署
查看>>
HP iLO2 使用详细图文教程
查看>>
Linux文本编辑器之Nano
查看>>
Linux系统集群架构线上项目配置实战(一)
查看>>
用DirectX实现动态纹理
查看>>
在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等 .
查看>>
[转载]版本号定义
查看>>
android fastboot flash system 失败
查看>>
Hibernate的ORM原理和实现
查看>>
如何在linux系统下配置无线网卡?【转】
查看>>
web桌面程序之图标拖动排序的分析
查看>>
老贴 java数据库连接
查看>>
Image-Loader LruMemoryCache
查看>>
使用Oracle数据库进行企业开发(一)
查看>>
经纬度和墨卡托互相转换
查看>>
VC无闪烁刷屏技术的实现【转】
查看>>
【原】IOS中KVO模式的解析与应用
查看>>
EntityFramework Core迁移时出现数据库已存在对象问题解决方案
查看>>
urb传输的代码分析【转】
查看>>
理解 QEMU/KVM 和 Ceph(3):存储卷挂接和设备名称
查看>>