Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/Permutations/Batch-File/permutations.bat
Normal file
33
Task/Permutations/Batch-File/permutations.bat
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
set arr=ABCD
|
||||
set /a n=4
|
||||
:: echo !arr!
|
||||
call :permu %n% arr
|
||||
goto:eof
|
||||
|
||||
:permu num &arr
|
||||
setlocal
|
||||
if %1 equ 1 call echo(!%2! & exit /b
|
||||
set /a "num=%1-1,n2=num-1"
|
||||
set arr=!%2!
|
||||
for /L %%c in (0,1,!n2!) do (
|
||||
call:permu !num! arr
|
||||
set /a n1="num&1"
|
||||
if !n1! equ 0 (call:swapit !num! 0 arr) else (call:swapit !num! %%c arr)
|
||||
)
|
||||
call:permu !num! arr
|
||||
endlocal & set %2=%arr%
|
||||
exit /b
|
||||
|
||||
:swapit from to &arr
|
||||
setlocal
|
||||
set arr=!%3!
|
||||
set temp1=!arr:~%~1,1!
|
||||
set temp2=!arr:~%~2,1!
|
||||
set arr=!arr:%temp1%=@!
|
||||
set arr=!arr:%temp2%=%temp1%!
|
||||
set arr=!arr:@=%temp2%!
|
||||
:: echo %1 %2 !%~3! !arr!
|
||||
endlocal & set %3=%arr%
|
||||
exit /b
|
||||
Loading…
Add table
Add a link
Reference in a new issue