堆排序、快速排序(递归与非递归)、归并排序效率比较
为了比较这四种排序的效率,程序中将四种排序算法封装成函数,并且随机生成10000000个随机数,用GetTickCount()函数获取精确到毫秒级的系统时间,通过这个方法,来比较效率。要注意的是递归方式的快速排序因为调用函数太多,所以效率很低,然后本人采用了STL库中的栈来非递归实现,结果效率更低,最后自己手写一个简易栈,效率就变得很高了。实验结果如图:
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include