注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» [讨论]批处理按数字大小排序
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
youxi01
发短消息
加为好友
youxi01
当前离线
UID
2
帖子
962
精华
3
积分
2449
PB
2359
技术
40
捐助
0
阅读权限
254
在线时间
1346 小时
注册时间
2007-10-25
最后登录
2022-2-11
荣誉版主
帖子
962
积分
2449
技术
40
捐助
0
注册时间
2007-10-25
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2007-11-8 18:33
|
显示全部帖子
[数值计算]
[讨论]批处理按数字大小排序
本帖最后由 pcl_test 于 2016-11-3 20:22 编辑
有以下几个数字(注:批处理中,数字超出2^31会自动当成字符串,如:set /a num=99999999999999就会出错)
包括特大数字,现需要对它们进行排序(由小到大)。如何处理?
数字有:
123
65
9999999999999
11111111111111
44444456
879554213
658974452136541
复制代码
收藏
分享
youxi01
发短消息
加为好友
youxi01
当前离线
UID
2
帖子
962
精华
3
积分
2449
PB
2359
技术
40
捐助
0
阅读权限
254
在线时间
1346 小时
注册时间
2007-10-25
最后登录
2022-2-11
荣誉版主
帖子
962
积分
2449
技术
40
捐助
0
注册时间
2007-10-25
2
楼
发表于 2007-11-8 22:23
|
显示全部帖子
2F的能满足要求,但是似乎效率确实不高...
个人 觉得 没必要 使用findstr,终究那个会影响效率。
可以采用的方法(思路):
获取位数,然后和该数字排在一起
举例,对于以下数字(10位以内):
9
85
765
6542
56987
可以这样处理:
1 9
2 85
3 765
4 6542
5 56987
然后再排,这样效率会提高很多...
当然,位数超过10的类同
TOP
youxi01
发短消息
加为好友
youxi01
当前离线
UID
2
帖子
962
精华
3
积分
2449
PB
2359
技术
40
捐助
0
阅读权限
254
在线时间
1346 小时
注册时间
2007-10-25
最后登录
2022-2-11
荣誉版主
帖子
962
积分
2449
技术
40
捐助
0
注册时间
2007-10-25
3
楼
发表于 2007-11-8 22:31
|
显示全部帖子
3F的代码不错,效率比较高啊
TOP
youxi01
发短消息
加为好友
youxi01
当前离线
UID
2
帖子
962
精华
3
积分
2449
PB
2359
技术
40
捐助
0
阅读权限
254
在线时间
1346 小时
注册时间
2007-10-25
最后登录
2022-2-11
荣誉版主
帖子
962
积分
2449
技术
40
捐助
0
注册时间
2007-10-25
4
楼
发表于 2007-11-8 22:36
|
显示全部帖子
3F补0的方法 比我的 4F提出来的 取位数 再“合成”的设想要好啊,赞一个,加分
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]