ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3674|回复: 11

[讨论] 这是什么排序?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-9-17 15:45 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看的东西比较混乱 今天趁午休时间把算法导论拿出来看(那是我的硬伤,嘿)
看到插入排序的那张截图 大意是插入排序就像把一副牌放入手中 不停的插入
大的放右边 小的放左边
突然有个灵感 我可以建立两个数组Temp(2),Arr(2)
乱序数组的每个元素都以 Temp数组的形式存在 Temp(1)=进入的元素 Temp(0),Temp(2) 并不初始化
Arr数组作为结果数组,Arr(1)中放入乱序数组的第一个数 Arr(0) 中放比他小的数 Arr(2)放比他大的数(Arr(0),Arr(2)是以Temp数组的形式)
乱序数组的第二个元素进来 同样以Temp数组形式出现 如果这个元素本身比乱序数组的第一个元素小就 Arr(0)=Temp(1) (上面讲过,第二个元素是以Temp数组的形式进入的,同样Temp(1)=进入的元素 0,2索引的不初始化)
这样第三个元素在进来.......所有的元素都遵循这样的规则

使用递归形成了
未命名.GIF
遍历一遍 就得出了顺序的数组(当然每次都有递归)
最后再递归取出(2次递归^^)就得到了顺序的排序

耗时方面 机子不行 就不测试了 有兴趣可以试试....不知道快还是慢
不知道这样的排序是否有名字? 主要利用的是嵌套数组,不知道嵌套数组是否有极限?

上附件:
代码在thisworkbook sheet1是测试用的数据
abc.zip (483.16 KB, 下载次数: 69)

TA的精华主题

TA的得分主题

发表于 2012-9-17 23:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
^_^,没人顶,我来顶。说实话,你用数组来排序,搞得太深奥了,没几人有耐心看啊。其实,要说排序,你不是在另一贴中说工作上不强求速度嘛,那冒泡法排序足矣。要是讲究算法,希望有人共同来探讨学习,那就难了,曲高和寡啊。

TA的精华主题

TA的得分主题

发表于 2012-9-17 23:47 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-9-17 23:53 | 显示全部楼层
上传一个word文件,从“树状数组”往后看,是不是能有点启发
不是说那个就是树状或者线段形式,但有可能借用一部分方法

VB数组详解.rar

131.56 KB, 下载次数: 55

TA的精华主题

TA的得分主题

发表于 2012-9-18 00:47 | 显示全部楼层
排序算法这样的被人研究了一百几十年的东东
就别指望自己能研究出什么新东西了
我折腾了半天,最后还是老老实实抄书。。。。。。

点评

有道理,抄书  发表于 2012-9-18 07:45

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-18 09:21 | 显示全部楼层
灰袍法师 发表于 2012-9-18 00:47
排序算法这样的被人研究了一百几十年的东东
就别指望自己能研究出什么新东西了
我折腾了半天,最后还是老 ...

嘿 不知者无畏
就算没实际意义 起码也活跃了下思维
高级的算法 我还不能理解 只能用排序这种门槛低的来试刀了
而往往越是基础的就越是无法超越 就像力学三大定律一样的 整个体系都建立在其之上
起码这个算法看上去很美 不是么
一次遍历就排序完毕 (自己的子女总是最满意的^^)

不知道这样的算法的优劣 运行次数 还有 复杂程度 所以发上来

这也算个奇怪的爱好吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-18 09:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ngnndkkk 发表于 2012-9-17 23:39
^_^,没人顶,我来顶。说实话,你用数组来排序,搞得太深奥了,没几人有耐心看啊。其实,要说排序,你不是在 ...

我也不是和人探讨 估计高手讲什么我都不一定听得懂

有个成果不管好坏 总希望有人分享喜悦的

这是一种动力吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-18 09:36 | 显示全部楼层
yiyiyicz 发表于 2012-9-17 23:53
上传一个word文件,从“树状数组”往后看,是不是能有点启发
不是说那个就是树状或者线段形式,但有可能借 ...

挺像的  我会好好看看
果然基本基础方面已经没什么好创新的了
貌似你里面起码4种语言啊.........
这才是抄书的境界 哈哈

TA的精华主题

TA的得分主题

发表于 2012-9-18 10:31 | 显示全部楼层
doryan 发表于 2012-9-18 09:36
挺像的  我会好好看看
果然基本基础方面已经没什么好创新的了
貌似你里面起码4种语言啊.........

千万注意,不一样
那是为了搜索,你是为了排序
但是,这两种方法在EH中没见过

TA的精华主题

TA的得分主题

发表于 2012-9-18 11:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
还有啥资料,再发点
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-4 00:28 , Processed in 0.037635 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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