中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]数值排序(难并已解)
« [1] [2] [3] »
作者:
标题: [求助]数值排序(难并已解) 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 31 楼』:  再优化:

我31楼的代码还是没有考虑到数值前面有n位相同的情况,再次修改如下:
@echo off&setlocal enabledelayedexpansion
set "str=%random% %random% -%random% %random% %random% %random% -%random% "
for %%i in (%str%) do call,set var=!var! n%%in
for %%i in (%var%) do set a=%%i&call :lp
echo !var:n=!
pause>nul&goto :eof
:lp
for %%i in (%var%) do (
    set b=%%i&set b=!b:~1,-1!&set c=%a:~1,-1%
    if !b! lss !c! (
       set var=!var:%a% =!
       set var=!var:%%i=%%i %a%!
    )
)




批处理之家新域名:www.bathome.net
2008-5-4 19:09
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 32 楼』:  

标签后的代码好像逻辑上有问题,请测试以下数字。
set "str=111 2 555 111 2 -8 0 -9 9 5 0"



致精致简!
2008-5-4 19:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: