[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off|| 希尔排序练习
  2. setlocal enabledelayedexpansion
  3. ::获得256个随机数
  4. set n=255&for /l %%a in (0 1 !n!)do set/a a[%%a]=!random!
  5. ::获取制表符
  6. for /f "delims=U" %%a in ('cmd/u/cecho 唉')do set tab=%%a
  7. set x=0
  8. for /l %%a in (0 1 %n%)do (
  9. set/p=!a[%%a]!!tab!<nul&set/a x+=1,y=x%%8&if !y!==0 echo;
  10. )
  11. echo;---------------
  12. call:shellsort a n
  13. set x=0
  14. for /l %%a in (0 1 %n%)do (
  15. set/p=!a[%%a]!!tab!<nul&set/a x+=1,y=x%%8&if !y!==0 echo;
  16. )
  17. pause
  18. :shellsort <arrname> <arrsize> // code by plp
  19. for %%a in (132 57 23 9 4 1)do (
  20.     for /l %%b in (%%a 1 !%2!)do (set/a x=%%b-%%a
  21.         for /l %%c in (!x! -%%a 0)do (set/a jj=%%c+%%a
  22.             for /f "tokens=1-2" %%A in ("a[%%c] a[!jj!] ")do (
  23.                 if !%%A! gtr !%%B! set/ap=%1[%%c],%1[%%c]=%1[!jj!],%1[!jj!]=p
  24.             )
  25.         )
  26.     )
  27. )
  28. goto:eof
复制代码

TOP

返回列表