第十六周上机实践项目3 - 归并排序算法的改进

问题及代码:

/*         
.*Copyright(c)2015,烟台大学计算机与控制工程学院                
.*All rights reserved.                
.*文件名称:test.cpp                
.*作者:颜肖璇                
.*完成日期:2015年12月14日             
.*版本号:v1.0                   
.*问题描述: 
 
采用归并排序、快速排序等高效算法进行排序,当数据元素较少时(如n≤64),经常直接使用直接插入排序算法等高复杂度的算法。这样做,会带来一定的好处,例如归并排序减少分配、回收临时存储区域的频次,快速排序减少递归层次等。 
试按上面的思路,重新实现归并排序算法。 

*输入描述:          
*程序输出:              
*/
#include 
#include 
#include 
#include 
#define MinLength 64        //最短分段长度
typedef int KeyType;    //定义关键字类型
typedef char InfoType[10];
typedef struct          //记录类型
{
    KeyType key;        //关键字项
    InfoType data;      //其他数据项,类型为InfoType
} RecType;              //排序的记录类型定义

void GetData(RecType *&R, int n)
{
    srand(time(0));
    R=(RecType*)malloc(sizeof(RecType)*n);
    for(int i=0; i=low && tmp.key

 

运行结果:

第十六周上机实践项目3 - 归并排序算法的改进_第1张图片

第十六周上机实践项目3 - 归并排序算法的改进_第2张图片第十六周上机实践项目3 - 归并排序算法的改进_第3张图片

第十六周上机实践项目3 - 归并排序算法的改进_第4张图片

第十六周上机实践项目3 - 归并排序算法的改进_第5张图片

你可能感兴趣的:(第十六周上机实践项目3 - 归并排序算法的改进)