- @echo off
- setlocal enabledelayedexpansion
- ::先排序,再按尾数取
- ::第一步构建一维数组,并给每个元数武值
- for /f "delims=*" %%i in (a.txt) do (
- for %%j in (%%i) do (
- set /a n+=1&set _!n!=%%j
- )
- )
- ::用选择法排序
- rem echo %n%
- for /l %%i in (1,1,%n%) do (
- set /a m=%%i+1
- for /l %%j in (!m!,1,%n%) do (
- if !_%%i! gtr !_%%j! (
- set /a t=_%%i
- set /a _%%i=!_%%j!
- set /a _%%j=t
- )
- )
- )
- ::按尾数取
- for /l %%i in (1,1,%n%) do (
- for /l %%j in (0,1,9) do (
- if !_%%i:~-1! ==%%j set a_%%j=!a_%%j! !_%%i!
- )
- )
- ::输出
- for /l %%k in (0,1,9) do (
- if !a_%%k! neq 0 echo %%k !a_%%k!
- )
-
- rem set a_
- rem set _
- pause>nul
复制代码 缺点是建一维数组时变量过多,优点是易读易写 |