一、选择排序法- @echo off
- setlocal enabledelayedexpansion
- ::选择排序法
- echo 共输入10个数
- for /l %%i in (1,1,10) do (
- set /p a_%%i=请输入%%i个数
- set str=!str! !a_%%i!
- )
- echo %str%
- for /l %%i in (1,1,10) do (
- set /a b=%%i+1
- for /l %%j in (!b!,1,10) do (
- if !a_%%i! gtr !a_%%j! (
- set /a t=a_%%i
- set /a a_%%i=a_%%j
- set /a a_%%j=t
- )
- )
- )
- for /l %%i in (1,1,10) do (
- set str1=!str1! !a_%%i!
- )
- echo %str1%
- pause>nul
复制代码 二、冒泡排序法- ::冒泡排序法
- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,10) do (
- set /p a_%%i=请输入第%%i个数:
- set num=!num! !a_%%i!
- )
- echo %num%
- for /l %%i in (1,1,10) do (
- set /a b=10-%%i
- for /l %%j in (1,1,!b!) do (
- set /a t=%%j+1
- set /a d=a_!t!
- if !a_%%j! gtr !d! (
- set /a x=!a_%%j!
- set /a a_%%j=d
- set /a a_!t!=!x!
- )
- )
- )
- for /l %%i in (1,1,10) do (
- set str=!str! !a_%%i!
- )
- echo %str%
- pause>nul
复制代码 三、后序插入排序法- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,10) do (
- set /p a_%%i=请输入第%%i个数:
- set str=!str! !a_%%i!
- )
- echo 你输入的数列是: !str!
- for /l %%i in (1,1,10) do (
- rem set /a b=a_%%i
- rem echo !b!===
- set /a c=%%i+1
- for /l %%j in (!c!,1,10) do (
- if !a_%%j! lss !a_%%i! (
- set /a t=!a_%%j!
- set /a a_%%j=!a_%%i!
- set /a a_%%i=!t!
- )
- )
- )
- for /l %%i in (1,1,10) do set stri=!stri! !a_%%i!
- echo !stri!
- pause>nul
复制代码 四、后序插入排序优化- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,10) do (
- set /p a_%%i=请输入第%%i个数:
- set str=!str! !a_%%i!
- )
- echo 你输入的数列是: !str!
- for /l %%i in (1,1,10) do (
- set /a p=a_%%i
- set /a b=%%i+1
- for /l %%j in (!b!,1,10) do (
- if !a_%%j! lss !p! set /a p=a_%%j&set /a pp=%%j
- )
- set /a t=!a_%%i!
- set /a a_%%i=!p!
- set /a a_!pp!=!t!
- )
- for /l %%i in (1,1,10) do set stri=!stri! !a_%%i!
- echo !stri!
- pause>nul
复制代码 还要四种传统排序,以后再写
[ 本帖最后由 tyc 于 2009-4-17 10:03 编辑 ] |