编写程序统计快速排序、堆排序和归并排序的比较和移动次数 数据结构算法

老师布置的,实在不太会,求助,求发到邮箱[email protected]

待排序的序列为512个整数元素组成的序列,该序列随机生成。
随机生成3个待排序序列,针对这3个序列调用排序算法,每个排序算法将获得3组比较、移动次数,并求其平均值。
生成正序和逆序序列,分别调用排序算计,统计比较、移动次数。
用这个随机生成函数
#include <stdio.h>
#include <stdlib.h>

void generate_arr(int r[], int rLen);
int main()
{
int i;
int r[10];
generate_arr(r, 10); //使用方式

for(i=0; i<10; i++) {
printf("%d, ", r[i]);
}
printf("\n");
return 0;
}

/**
* 生成随机整数序列
* r数组用于存储随机序列
* rLen表示随机序列的长度
*/
void generate_arr(int r[], int rLen)
{
int i;
srand((unsigned) time(NULL));
for(i=0; i<rLen; i++)
{
r[i] = rand();
}
}

第1个回答  2015-07-22

这个主要是费时间,你可以网上找找相关算法的讲解博客

本回答被网友采纳
相似回答