[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] [讨论]批处理按数字大小排序

本帖最后由 pcl_test 于 2016-11-3 20:22 编辑

有以下几个数字(注:批处理中,数字超出2^31会自动当成字符串,如:set /a num=99999999999999就会出错)
包括特大数字,现需要对它们进行排序(由小到大)。如何处理?

数字有:
  1. 123
  2. 65
  3. 9999999999999
  4. 11111111111111
  5. 44444456
  6. 879554213
  7. 658974452136541
复制代码

2F的能满足要求,但是似乎效率确实不高...
个人 觉得 没必要 使用findstr,终究那个会影响效率。
可以采用的方法(思路):
获取位数,然后和该数字排在一起
举例,对于以下数字(10位以内):
9
85
765
6542
56987
可以这样处理:
1 9
2 85
3 765
4 6542
5 56987
然后再排,这样效率会提高很多...
当然,位数超过10的类同

TOP

3F的代码不错,效率比较高啊

TOP

3F补0的方法 比我的 4F提出来的 取位数 再“合成”的设想要好啊,赞一个,加分

TOP

返回列表