• 大小: 285KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-12-03
  • 语言: 其他
  • 标签: 数据结构  

资源简介

外排序中分为两步:初始游程的生成和有序文件的合并 请实现算法模拟初始游程的生成 假定系统中只能对规模为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

评论

共有 条评论