TC官方合作论坛

 找回密码
 立即注册
查看: 457|回复: 8
打印 上一主题 下一主题

[教程] 【变量和数组】快速排序。

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-28 18:32:10 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2018-5-8 10:06 编辑

【变量和数组】快速排序。
关键词:tc简单开发,快速排序。

var 线程ID, arr
功能 执行()
var arrstr, 元素个数, 最大下标
arrstr = "array(8,6,2,7,1,9,5,4,10,3)"
arr = 字符串转数组(arrstr)
元素个数 = 数组大小(arr) //数组大小() 的返回值是元素个数.
最大下标 = 元素个数 - 1 //数组的最大下标。
//最小下标是从0开始数的,元素个数是从1开始数的。 所以最大下标,永远比元素个数 小1。
快速排序(0, 最大下标)
for(var i = 0; i < 元素个数; i++)
traceprint(arr)
end
数组清空(arr) //数据量大的话,全局数组会占很大的内存空间。所以使用_数组清空()
结束
//
功能 快速排序(L, B)
if(L > B)
return 0
end
//
var i, j, key
i = L
j = B
key = int(arr[L])
while(j > i)
while(int(arr[j]) >= key && j > i)
j = j - 1
end
while(int(arr) <= key && j > i)
i = i + 1
end
if(j > i)
var 周转箱 = arr
arr = arr[j]
arr[j] = 周转箱
end
end
arr[L] = arr
arr = key
快速排序(L, i - 1) //递归算法,调用函数自身.
快速排序(i + 1, B) //递归算法,调用函数自身.
结束
//
功能 启动_热键()
var bool = 线程获取状态(线程ID)
if(bool == false)
线程ID = 线程开启("执行", "")
end
结束
功能 终止_热键()
线程关闭(线程ID)
结束

代码环境:tc7.0版
快速排序采用分治的办法,几百,几千,几万个数据,快速排序的速度是冒泡的几倍.
如果是几十个数据,冒泡排序就可以胜任。

上一篇:【变量和数组】冒泡排序。
http://bbs.tyuyan.net/forum.php?mod=viewthread&tid=70422&mobile=no
回复

使用道具 举报

沙发
 楼主| 发表于 2018-3-28 18:32:39 来自手机 | 只看该作者
本帖最后由 剑仙十号 于 2018-5-7 21:27 编辑

二楼,更新信息专用。
tc简单开发_爱好群:
143358382 (462/500)

tc简单开发_爱好群Ⅱ:
433286131 (215/500)

tc办公文本_爱好群:
612661895(60/500)

本群大神众多,新手众多。群文件内 资源海量。 希望新手 分享更多笔记,减少重复造轮子的时间。 好编程,齐学习,齐进步。
回复 支持 反对

使用道具 举报

板凳
发表于 2018-3-29 03:25:10 | 只看该作者
这个递归写法确实比冒泡要快上很多.
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2018-5-7 09:50:08 来自手机 | 只看该作者
while(int(arr[i]) <= key && j > i)
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2018-5-7 09:50:46 来自手机 | 只看该作者
var 周转值 = arr[i]
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2018-5-7 09:51:50 来自手机 | 只看该作者
TC论坛确实有毛病。
arr[i],有时能发,有时会被减掉。
回复 支持 反对

使用道具 举报

7#
发表于 2018-5-7 18:23:48 | 只看该作者
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-17 05:56 , Processed in 0.141434 second(s), 22 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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