数据结构算法——Visual C++ 6.0程序集 第9章

数据结构算法——Visual C++ 6.0程序集 第9章

ID:40247165

大小:571.00 KB

页数:40页

时间:2019-07-29

数据结构算法——Visual C++ 6.0程序集 第9章_第1页
数据结构算法——Visual C++ 6.0程序集 第9章_第2页
数据结构算法——Visual C++ 6.0程序集 第9章_第3页
数据结构算法——Visual C++ 6.0程序集 第9章_第4页
数据结构算法——Visual C++ 6.0程序集 第9章_第5页
资源描述:

《数据结构算法——Visual C++ 6.0程序集 第9章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构算法VisualC++6.0程序集侯识忠等编著中国水利水电出版社第九章文件9、0散列文件的插入、删除和查找操作//散列文件的插入、删除和查找操作//HashFM.cpp#include#include#include#include//m为散列表的长度,确定取值为16constintm=16;//km为散列主文件中每个结点所含的元素个数,//取值大于等于1,暂取为3constintkm=3;//定义关键字类型

2、为整型typedefintKeyType;//索引主文件中的记录元素类型structElemType{intkey;//关键字域charrest[10];//其他域,暂用字符数组表示};//索引主文件中的结点类型structFLNode{ElemTypedata[km];//值域intnext;//指向下一个结点的指针域};//b1为索引表文件中的记录长度constintb1=sizeof(int);//b2为索引主文件中的记录长度constintb2=sizeof(FLNode);//NullTag作

3、为空关键字的标记,假定用-10表示constintNullTag=-10;//散列文件的类定义templateclassHFile{public://构造函数,初始化散列表文件和主文件HFile(char*fn1,char*fn2);//把元素x插入到按桶散列的文件中voidTHFInsertA(char*fn1,char*fn2,Tx);//把数组x中n个元素插入到按桶散列的文件中voidTHFInsertB(char*fn1,char*fn2,Tx[],intn);//从按桶散列的文

4、件中删除关键字为x.key的元素,//并由x带回该元素,若删除成功则返回1,否则返回0boolTHFDelete(char*fn1,char*fn2,T&x);//从按桶散列的文件中查找关键字为x.key的元素,//并由x带回该元素,若查找成功则返回1,否则返回0boolTHFSearch(char*fn1,char*fn2,T&x);//按单链表顺序打印出按桶散列主文件中每个结点的所有元素值voidTHFPrint(char*fn1,char*fn2);};//散列文件的类实现//初始化散列表文件和主

5、文件templateHFile::HFile(char*fn1,char*fn2){//以输出方式打开并建立空的散列表文件ofstreamf1(fn1,ios::out

6、ios::binary);if(!f1){cerr<

7、ios::binary);if(!f2){cerr<

8、);}//动态分配具有m+1个整型存储空间的数组Aint*A=newint[m+1];if(!A){cerr<<"申请堆内存失败!"<void

9、HFile::THFInsertA(char*fn1,char*fn2,Tx){//以输入输出和不新建方式打开散列表文件fstreamf1(fn1,ios::in

10、ios::out

11、ios::binary);if(!f1){cerr<

12、ios::out

13、ios::binary);if(!f2){cerr<

14、exit(1);}//给数组A中的每个元素赋初值-1,表示空指针int*A=newint[m+1];if(!A){cerr<<"申请堆内存失败!"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。