如题所述
第1个回答 2016-11-08
1万数据哦爱需本来就不需要多久时间,哪怕就是使用选择法排序,比较次数也5千万次,现在计算机瞬间就完成了。我们看见排序花了时间,主要是浪费在数据显示上。追问
表格有三万五千条记录,用excel自带的排序功能,一秒钟没到就完成了,用宏写排序算法用了15秒左右
追答你检测每一步的时间吧,你那15秒应该都是花在数据读入数组、数组写入表中,实际排序耗时最多1秒。
追问这个是vba自带的排序函数,一秒没到
这个是快速排序,用了15秒
你这个代码,15秒正常,每一次cells的读写都要耗费许多时间,你可以写代码验证,全部数据复制一遍也差不多这么多时间。
排序一个定义一个数组,程序分三步,把工作表内容读入数组,排序,把数字写入工作表。
主要时间耗费在第三步,真正排序的第二步其实一瞬间就完成的。