![]() |
中国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 |