一 排序运行效率比较(qsort函数vs位图排序)
step1:生成随机数组
为了排除因为随机数的不一样而引起的运行时间偏差,本次实验选用两组相同的随机数.
代码如下
step2:通过qsort函数排序并打印这组随机数.
代码如下:
执行
gcc qsort.c -o qsort -std=c99
time ./qsort
得到结果
step3:通过自建位图排序这组数组.
代码如下:
执行
gcc weitu.c -o weitu -std=c99
time ./weitu
得到结果
可以看出通过位图排序效率要远高于qsort函数排序.
二 对于所占的内存空间比较
qsort需要更多的内存去存放进行比较的数据,在本次实验的虚拟机上将要排序的数组个数改成10000000后,执行时发生了段错误,超过了本虚拟机可用内存.
故而在内存空间上位图同样具有优势.