资源简介
外排序中分为两步:初始游程的生成和有序文件的合并 请实现算法模拟初始游程的生成 假定系统中只能对规模为p的元素进行排序 现给定m个元素 m>p 对m个元素进行处理 给出所生成的若干个有序的初始游程
要求:
1 必须认真复习外排序的相关知识
2 了解算法中用到的堆排序算法
3 p的大小和m个待处理数据均存放在文件input txt中;
4 输出的若干个初始游程存放在文件output txt中 ">外排序中分为两步:初始游程的生成和有序文件的合并 请实现算法模拟初始游程的生成 假定系统中只能对规模为p的元素进行排序 现给定m个元素 m>p 对m个元素进行处理 给出所生成的若干个有序的初始游程
要求:
[更多]
代码片段和文件信息
#include
#include
#include “AdjustDown.h“
void main()
{
ofstream outf(“output.txt“);//建立一个文本文件output.txt
if(!outf)//判断文件是否正常打开
{
cout<<“Cannot open file!“< return;
}
outf<<“Here is the result:“< int i=0;
int a[18];
int p=0;
ifstream inf(“input.txt“);//读取input.txt中的内容
if(!inf)//判断文件是否正确打开
{
cout<<“Cannot open file!“< return;
}
inf>>p;//从文件中读取数据赋给内存变量
for(i=0;i<18;i++)//从文件中读取数据赋给数组a[18]
{
inf>>a[i];
}
inf.close();
int n=p;
int heap[18];//建立数组heap[18]
for(i=0;i {
heap[--n]=a[i];//将a[i]倒序输入给heap数组
}
n=p;//重置n为p
CreateHeap(heapp);//调用CreateHeap建堆
int m = p;
int q =p;
int b=1;
outf< for(i=0;i<18-n;i++){
cout< outf< if(a[q]>=heap[0])
{
heap[0]= a[q];
CreateHeap(heapm);
}
else
{
m = m-1;//当前堆记录减一
heap[0]=heap[m];//当前堆底记录取代堆顶记录
CreateHeap(heapm);
heap[m]=a[q];
if(m {
CreateHeap2(heappm);//调用CreateHeap2调整新堆
}
if(m<1)//当前堆输出完毕,当前初始游程结束,开始建立下一个游程
{
m=p;//重置m为p
cout< outf< outf<<++b<<“.“;//游程标号
}
}
q++;
}
for(i=0;i{
cout< outf< m--;
if(m>0)
{
cout< heap[0]=heap[m];
CreateHeap(heapm);
heap[m]=heap[n-1];
}
else if(m<0)
{
cout< heap[0]=heap[n-1];
CreateHeap(heapn-1);
}
else//m=0,当前堆输出完毕,当前初始游程完毕
{
cout< outf< if(i {
outf<<++b<<“.“;//输出下一个游程标号
}
heap[0]=heap[n-1];
CreateHeap(heapn-1);
}
n--;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-10-22 20:07 初始游程\
文件 538 2012-05-01 22:55 初始游程\AdjustDown.h
文件 4374 2012-05-01 23:08 初始游程\B09040121.dsp
文件 543 2012-05-01 22:49 初始游程\B09040121.dsw
文件 50176 2012-09-10 14:09 初始游程\B09040121.ncb
文件 48640 2012-09-10 14:09 初始游程\B09040121.opt
文件 901 2012-05-01 23:04 初始游程\B09040121.plg
目录 0 2014-10-22 20:07 初始游程\Debug\
文件 225378 2012-05-01 23:04 初始游程\Debug\B09040121.exe
文件 262992 2012-05-01 23:04 初始游程\Debug\B09040121.ilk
文件 274332 2012-05-01 23:04 初始游程\Debug\B09040121.pch
文件 443392 2012-05-01 23:04 初始游程\Debug\B09040121.pdb
文件 13579 2012-05-01 23:04 初始游程\Debug\main.obj
文件 41984 2012-09-10 14:09 初始游程\Debug\vc60.idb
文件 61440 2012-05-01 23:04 初始游程\Debug\vc60.pdb
文件 70 2012-05-01 23:02 初始游程\input.txt
文件 2026 2012-05-01 22:55 初始游程\main.cpp
文件 118 2012-09-10 14:09 初始游程\output.txt
- 上一篇:路由分组转发仿真系统的设计与实现
- 下一篇:StewartShapiro数学哲学
相关资源
- 数据结构课程设计之电梯模拟
- 大话数据结构原书+源代码.zip164041
- 《程序员代码面试指南》(高清PDF版
- 耿国华 数据结构 课后答案
- (答案)上海理工大学848真题数据结
- 数据结构作业习题精选 电子科技大学
- 数据结构及应用算法教程修订版
- 数据结构高分笔记
- 《数据结构》考研名校真题解析及典
- 数据结构与程序设计英文版答案.pdf
- 算法和数据结构:基本工具箱Kurt Me
- 华中科技大学数据结构实验报告1-4综
- 厦大数据结构考卷
- 数据结构 吴陈 科学出版社 课后答案
- 数据结构课程设计——哈夫曼编/译码
- 吉林大学《数据结构》实验全部代码
- 数据结构课程设计医院选址系统
- 严蔚敏,吴伟民编著《数据结构》课
- 湘潭大学数据结构二考研真题
- 02331数据结构复习总结.doc
- 数据结构讲义
- 华工数据结构课程设计
- 数据结构-何钦铭、陈越 课件资源
- 西南交大数据结构实验
- 大连理工大学数据结构第一次上机答
- 最短路径数据结构作业-南京地图
- 湖南大学数据结构历年考试试卷大全
- 数据结构与算法 张铭 资料包
- 11.(高清原版)吉林大学数据结构长
- 数据结构总结.doc
评论
共有 条评论