中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 15:52
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何实现数字的排序
可打印版本  4,008 / 12
第1楼 pcl83 发表于 2006-10-04 09:22
初级用户 发帖 13 积分 32
如何实现数字的排序
在批处理中,如何实现数字的排序?
例如我现在有10个数字,现要将它们由大到小的顺序排出来?怎么办?
谢谢先!
请给出可行性代码!


──────────────── 版务记录 ────────────────
执行:namejm
原标题:高手请进
现标题:如何实现数字的排序
说明:因原标题过于模糊,不便于论坛的搜索和管理,在本提示发表三日之后,
  楼主尚未更改标题,现由本人强制修改标题,并扣除楼主4点积分。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2006-10-19 at 01:00 ]
第2楼 redtek 发表于 2006-10-04 09:58
金牌会员 发帖 1,147 积分 2,902
使用 SORT.EXE 可以帮助你排序~:)
参数 /? 是帮助~:)

SORT.EXE 排序非常简单,用不着什么代码,详见它的帮助~:)


第3楼 pcl83 发表于 2006-10-04 14:26
初级用户 发帖 13 积分 32
那请问:现在有一组数字:9,82,765,现在要将它们以大小顺序排列出来,用sort命令怎么弄?
第4楼 electronixtar 发表于 2006-10-04 20:19
铂金会员 发帖 2,672 积分 7,493
做这种体力活我一般到excel里做
第5楼 不得不爱 发表于 2006-10-04 20:26
超级版主 发帖 2,044 积分 5,310 来自 四川南充
sort.exe 是排序文件里字符号码大小的!
如果a.txt里有下面的内容
654
4654
23
asfd
685
排序就输入:
sort a.txt
就得到:
23
4654
654
685
asfd
看了下这个命令是先从高位比较起,不符合人的习惯!
第6楼 不得不爱 发表于 2006-10-04 23:09
超级版主 发帖 2,044 积分 5,310 来自 四川南充
如果有3个数下面的可以解决问题!
第7楼 namejm 发表于 2006-10-05 05:47
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  对数字进行排序倒是不难,楼主可以测试一下如下代码:
第8楼 3742668 发表于 2006-10-05 10:50
荣誉版主 发帖 718 积分 2,013
part 1:


part 2:
第9楼 pcl83 发表于 2006-10-06 10:00
初级用户 发帖 13 积分 32
能不能解释一下,那个%*是什么意思啊?
第10楼 namejm 发表于 2006-12-27 10:53
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  3742668 兄的 part2 代码思路有不缜密的地方,举个极端的例子:假设 set numbers=2222 22 2 222222 222,代码就会出错,原因在于 if not "!str:%num%=!" == "" 这一句,是把所有的 %num% 置换为空,也就是说,只要其中的一个数值在其他数值中出现就会出错。
第11楼 scriptor 发表于 2006-12-27 11:24
银牌会员 发帖 555 积分 1,187
恩,不错嘛,学习了
第12楼 namejm 发表于 2007-01-08 04:37
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  翻看了一下老帖,才发现 3742668 兄以前曾经写过类似的代码(请点 这里 查看),在那个代码的基础上,稍微加工一下,就得到了如下代码:

  test.txt格式举例:

  再仔细看了看8楼的代码,发现更加高效、更加简洁,只要稍微修改一下(其实就是加上几个空格)就可以避免10楼所说的问题了:


[ Last edited by namejm on 2007-1-7 at 04:34 PM ]
第13楼 pengfei 发表于 2007-01-08 04:41
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
关于排序的算法很多, 起泡法, 排序法, 计数法, 插入法, 归并法, 堆排法...

一般用选择法, 速度快, 容易理解. 在批处理中构造数组就能轻易地实现N位数的排序.

以前讨论过这种构造数组的排序方法, 3742668版主利用空格来构造数组效率高.

[ Last edited by pengfei on 2007-1-8 at 04:42 AM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023