在写完这9种常见的内部排序算法后总觉得需要把它们拿出来好好比较一番,看看各个算法的性能优劣。
我们先来看看这九种排序算法的时间复杂度、空间复杂度和稳定性:
看完了各个排序算法的理论性能后,再来看一看在实践上的性能。
在程序里,随机数的范围为0~49999999;进行10次外循环,每一趟外循环里生成一个随机数组,数组的大小逐趟递增({50000, 100000, 500000, 1000000, 5000000, 10000000, 10000000, 50000000, 100000000, 500000000});在内循环里利用各个排序算法的函数对外循环里生成的数组进行排序,内循环执行15趟,然后记录下每一趟里每个算法所花费的时间,算出这15趟的平均花费的时间(ms)。