博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构实践——败者树归并模拟
阅读量:4583 次
发布时间:2019-06-09

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

本文是针对[]中的实践项目。

【项目】败者树归并模拟

  编敲代码,模拟改者树实现5路归并算法的过程。
  设有5个文件。当中的记录的关键字例如以下:
  F0:{17,21,∞} F1:{5,44,∞} F2:{10,12,∞}F3: {29,32,∞} F4: {15,56,∞}
  要求将其归并为一个有序段并输出。
  如果这些输入文件数据保存在内存中。输出结果也不必输出到文件,而是在屏幕上输出就可以。

#include 
#define MaxSize 20 //每一个文件里最多记录#define K 5 //5路平衡归并#define MAXKEY 32767 //最大关键字值∞#define MINKEY -32768 //最小关键字值-∞typedef int InfoType;typedef int KeyType;typedef struct //记录类型{ KeyType key; //关键字项 InfoType otherinfo; //其它数据项,详细类型在主程中定义} RecType;typedef struct{ RecType recs[MaxSize]; int currec;} FileType; //文件类型typedef int LoserTree[K]; //败者树是全然二叉树且不含叶子RecType b[K]; //b中存放各段中取出的当前记录FileType F[K]; //存放文件记录的数组void initial(){ int i; //5个初始文件,当前读记录号为-1 F[0].recs[0].key=17; F[0].recs[1].key=21; F[0].recs[2].key=MAXKEY; F[1].recs[0].key=5; F[1].recs[1].key=44; F[1].recs[2].key=MAXKEY; F[2].recs[0].key=10; F[2].recs[1].key=12; F[2].recs[2].key=MAXKEY; F[3].recs[0].key=29; F[3].recs[1].key=32; F[3].recs[2].key=MAXKEY; F[4].recs[0].key=15; F[4].recs[1].key=56; F[4].recs[2].key=MAXKEY; for (i=0;i
posted on 2017-07-15 18:54 阅读(...) 评论(...)

转载于:https://www.cnblogs.com/lxjshuju/p/7183843.html

你可能感兴趣的文章
spring + junit 测试
查看>>
.net core 无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了...
查看>>
Poj2186Popular Cows
查看>>
TCP之listen&backlog
查看>>
实验室的毕业照
查看>>
核心编程答案(第六章)
查看>>
Spring 3.x jar 包详解 与 依赖关系
查看>>
java线程详解二
查看>>
maven项目导入依赖jar包并打包为可运行的jar包
查看>>
leecode第二十三题(合并K个排序链表)
查看>>
关于Eclipse的unsupported major minor version 51.0 错误
查看>>
2014年目标
查看>>
weblogic启动后 登陆控制台特别慢的问题
查看>>
Spring加载resource时classpath*:与classpath:的区别
查看>>
雅虎股票接口
查看>>
映射“DataAdapter.TableMappings”
查看>>
Vue双向绑定
查看>>
activity生命周期
查看>>
IO流
查看>>
动画学习之Music图形绘制
查看>>