开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6022|回复: 29
收起左侧

[易语言纯源码] 普(wo)及(lai)算(shui)法(ge)知(tie)识

[复制链接]
结帖率:100% (3/3)
发表于 2015-5-24 04:16:11 | 显示全部楼层 |阅读模式   重庆市重庆市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 壩火柴 于 2015-5-24 08:30 编辑

像我这种混迹论坛的大水比,在潜水半年之后又浮出了水面。
代码是自己写的,只是用易语言实现了排序中常用的quicksort算法,大家参考就是了。
呃,最后解释一下代码吧(当然你也可以尝试自己去猜什么意思 =皿= )首先,我们有一个叫“二分”的思想,大概就是说让一个数成为基准数,让它左边都小于它右边都大于它,然后再把左边的序列也找一个基准数,让左边都小于它右边都大于它,右边也这样处理……最后只要每个分块的左边是一个右边是一个(或没有)就排序完毕了。quicksort的做法是,这里以左边第一个数为基准数来举例,先用指针j从右边往左边遍历,找比基准数小的数,j停住,再让指针i从左至右遍历,找到比基准数大的数,然后i和j指向的数组成员交换(请想一想为什么不先用i从左至右遍历,因为如果这样做,如果一直i遍历的数都大于等于基准数的话,就会到最右边与j重合,那么就会按之后的步骤让左一的基准数与右一的不知道什么数调换位置,而实际上我们要达到的效果是如果右二起至最后都大于等于基准数的话直接让基准数不动[其实是自己与自己调换位置]);那么问题来了!挖掘机……当i与j碰面时咋整呢,简单,直接把基准数和i、j碰面的位置交换就是了,这样基准数左边都比它小右边都比它大了(看不懂请找张纸画一画!)。
这就是一个基准数归位的过程。
接下来的步骤就是分别处理其它块,怎么处理?废话,递归呗。

OK讲完了,求大神罩我。
源码回复可见

E_quicksort.rar (1.22 KB, 下载次数: 25)

本帖被以下淘专辑推荐:

结帖率:0% (0/1)

签到天数: 1 天

发表于 2016-5-16 13:11:45 | 显示全部楼层   福建省福州市
不错,学习了
回复 支持 反对

使用道具 举报

结帖率:100% (13/13)
发表于 2016-3-7 14:00:51 | 显示全部楼层   安徽省合肥市
  记得安装包里有自带的几十个算法源码啊。。。
回复 支持 反对

使用道具 举报

发表于 2015-7-12 10:45:21 | 显示全部楼层   甘肃省兰州市
得静币好慢,呜呜
回复 支持 反对

使用道具 举报

结帖率:76% (32/42)
发表于 2015-6-7 18:46:45 | 显示全部楼层   山东省济南市
是冒泡排序吗

点评

quick是啥中文意思来着?二分法是啥玩意来着?   重庆市重庆市  发表于 2015-6-21 21:39
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
发表于 2015-5-30 11:32:32 | 显示全部楼层   内蒙古自治区赤峰市
貌似好高级的
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)
发表于 2015-5-28 19:29:05 | 显示全部楼层   重庆市重庆市
矮油、、非常感谢楼主的分享!支持...
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)
发表于 2015-5-28 19:24:39 | 显示全部楼层   广西壮族自治区南宁市
学习 谢谢!{:soso_e105:}
回复 支持 反对

使用道具 举报

结帖率:100% (21/21)

签到天数: 8 天

发表于 2015-5-28 13:32:38 | 显示全部楼层   河南省濮阳市
这个要下来学习研究下
回复 支持 反对

使用道具 举报

发表于 2015-5-27 18:00:58 | 显示全部楼层   陕西省西安市
论坛网速能把人吓死
回复 支持 反对

使用道具 举报

发表于 2015-5-27 18:00:25 | 显示全部楼层   陕西省西安市
论坛网速能把人吓死

评分

参与人数 1精币 +1 收起 理由
壩火柴 + 1 嗯对。常年吓死人。

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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