QQ网名大全

http://www.baidu .com/

们我现在有一个C++作业题不会做,特向你们求助,恳请你们能给我些帮助!!!下面是问题的题目及要求,谢谢你的帮助!
一、题目:用分块查找方法解决在数据库中查找与关键字相同记录的问题
1. 基本要求:
(1)要求用C++模块化设计的思想来完成程序的设计;
(2)要求各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件;
(3)程序调试通过后,完成程序文档的处理,加必要的注释。
三、设计方法和基本原理
1. 问题描述:
在一组无序数列中查找某个数据,找到则输出该数据,否则输出未找到信息。
2. 问题的解决方案:
根据问题的描述,可以按照要求的功能采用结构化的设计思想。
(1) 数列的赋值要求编写独立函数实现;
(2) 将无序数列排序为有序数列可以用“拉锯法”排序法也可以用其他方法实现,并编写独立函数;
(3) 分块查找的算法用独立函数实现
四、主要技术问题的描述
根据三的分析,主要问题在于:
1、排序算法的实现(不限方法)
2、分块查找方法的实现
分块查找又索引查找,它主要用于“分块有序”表的查找。所谓“分块有序”是指将线性表L(一维数组)分成m个子表(要求每个子表的长度相等),且第i+1个子表中的每一个项目均大于第i个子表中的所有项目。“分块有序”表应该包括线性表L本身和分块的索引表A。因此,分块查找的关键在于建立索引表A。
(1)建立索引表A(二维数组)
索引表包括两部分:关键字项(子表中的最大值)和指针项(子表的第一项在线性表L中位置)
索引表按关键字有序的。
例如:线性表L(有序)为:1 2 3 4 5 6 7 8 9 10 11 12
分成m=3个子表:{1 2 3 4} {5 6 7 8} {9 10 11 12}
索引表A:二维数组:第一列为每个子表的最大值 ,第二列为每个子表的起始地址
即: 4 0
8 4
12 8
佚名
2024-06-03 21:55:17
最佳回答
类似问题(10)