Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 27306|回复: 23

[已解决]二维数组的排序

[复制链接]
发表于 2010-5-5 16:32 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2019-10-22 11:00 编辑

讨论一下,大家在写到二维数组的排序的时候会想到什么方法呢?

我先抛个砖:

我是菜鸟,是直接用Excel的排序功能(先将需要排序的数组粘贴到新建的表中排序完赋值,然后删除新建的表),这样的话直接录制宏改部分代码就可以了,代码写出来速度是肯定不会慢,但是代码的效率不知道是否够高了..

最佳答案
2010-5-6 10:44

以前试讲的时候上的就是排序。

一、优缺点比较
排序方法优点缺点
系统排序系统自带,速度较快。对于只需要VBA内部过程中产生的临时排序数组,由于其在表格内需要进行实际读写,则不适用。
且对于数据量较大时其速度也比较慢。
冒泡排序法简单的排序方法,对于小量数据或者接近排序完成的数据速度较快对于数据量大时排序较慢
选择排序法冒泡排序的优化,速度较冒泡排序快对于数据量大时排序较慢
快速排序法适用比较广泛,对于数据量大的随机数据排序较快对于已经接近排序完成的数据速度不如冒泡排序
计数排序法对于特定的数据排序非常快仅限于数据跨度不大且数据数字不大的整形数据
插入(希尔)排序法与冒泡排序类似。
希尔排序作为优化后的插入排序,排序效率比插入排序高。
插入排序的效率同冒泡排序,但对于已经接近排序完成的数据时效率较低。
希尔排序的效率很难讲。
二、总结
1、首先要确认所要排序的数据是否需要直接显示在表格内。若是,且数据量不大(10000以内)则推荐系统自
带的排序;否则用以下排序。
2、如果你的数据列表中有99%数据已排过序,则用冒泡排序法。
3、如果你要排序的数据较少,则用选择排序法。
4、如果你的数据都是整数,并且数值不大,则用计数排序法。
5、上述方法都不适用时,用快速排序法法 

发表于 2010-5-5 16:54 | 显示全部楼层

没看见砖啊[em09]

除非不用不行 ......... 我没用过,实际中也是用的Excel排序

回复

使用道具 举报

 楼主| 发表于 2010-5-5 16:59 | 显示全部楼层

我的意思是只讨论方法,就是思路.不需要非常确切的代码

思路已经说了呀,就是放到Excel里用排序..

回复

使用道具 举报

 楼主| 发表于 2010-5-5 16:59 | 显示全部楼层

我的意思是只讨论方法,就是思路.不需要非常确切的代码

思路已经说了呀,就是放到Excel里用排序..

回复

使用道具 举报

发表于 2010-5-5 17:12 | 显示全部楼层

记得最近一次阿木回了个很长的,含有很多方法的帖,几乎见过名字的都有 。。。。。我翻了半天,没翻到[em03]

回复

使用道具 举报

 楼主| 发表于 2010-5-5 17:14 | 显示全部楼层

额...[em04]
回复

使用道具 举报

发表于 2010-5-5 17:53 | 显示全部楼层

QUOTE:
以下是引用小线在2010-5-5 17:14:00的发言:
额...[em04]

看见阿木在线时,给他一份惊喜(短信他)~~~~ 我每次看见短信,总以为得最佳了[em04]

回复

使用道具 举报

发表于 2010-5-5 19:40 | 显示全部楼层

二维的排序啊?会了一维的,二维的也简单的。

回复

使用道具 举报

发表于 2010-5-5 20:24 | 显示全部楼层

插入、选择、冒泡、希尔、堆、归并、快速……

似乎都不如excel的,太快了

回复

使用道具 举报

 楼主| 发表于 2010-5-6 10:17 | 显示全部楼层

楼上说出好多[em04]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 03:44 , Processed in 0.378678 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表