![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-11 01:07 |
共 47,812 主题排行 / 349,915 发帖 / 今日 1 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]**********起泡排序*********** |
| 可打印版本 1,026 / 7 |
| 第1楼 s11ss | 发表于 2007-09-15 20:55 |
| 银牌会员 发帖 566 积分 2,098 | |
|
[原创]**********起泡排序*********** @echo off
setlocal enabledelayedexpansion :::::::::::::::::::::::::::::::::::::::::Bubble Sort::::::::::::::::::::::::::::::::::::::::: ::::::::Get Original Numbers:::::::: echo Please input some numbers separated from "," , like 2007,9,14,88: set /a s=0 set /p str= set /a len=0 set /a nx=0 :c call set word=%%str:~%len%,1%% set /a len+=1 if "%word%" equ "," (set /a nx+=1 & call :e) if not "%word%" equ "" (goto :c) set /a nx+=1 call :e goto :o :e set /a sn=%len%-%s%-1 call set n%nx%=%%str:~%s%,%sn%%% set /a s=%len% goto :eof ::::::::Get Original Numbers:::::::: ::::::::Deal With Numbers:::::::: :o set /a i=1 :q set changed=False set /a j=%nx% :v set /a k=%j%-1 if !n%k%! gtr !n%j%! ( set /a temporary=!n%k%! set /a n%k%=!n%j%! set /a n%j%=!temporary! set changed=True ) set /a j-=1 if %j% geq %i% ( if not %j% equ 1 ( goto :v ) ) if %changed% equ False goto :p set /a i+=1 if %i% lss %nx% goto :q ::::::::Deal With Numbers:::::::: ::::::::Print The Result:::::::: :p ::set /a qi=%maxinc%+1 ::set /a zhi=%nx%+%maxinc% for /l %%c in (1,1,%nx%) do (set str2=!str2!!n%%c! ) echo. echo The numbers after sorting are: echo !str2! echo. echo Press Any Key To Exit... pause>nul goto :eof ::::::::Print The Result:::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::s11ss ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::2007-9-15 |
|
| 第2楼 1112yuhua | 发表于 2007-09-16 19:40 |
| 初级用户 发帖 44 积分 106 | |
|
楼主,能不能给出详细点的解释啊?
|
|
| 第3楼 s11ss | 发表于 2007-09-16 19:58 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by 1112yuhua at 2007-9-16 07:40 PM: 起泡排序,就是每次扫描数组时把最轻的"气泡"(最小的数)浮上去,下次扫描时就在本次扫描的数的个数的基础上减少一个,即排除已扫描到的轻"气泡".达到轻在上,重在下的目的.算法是一边扫描,一边交换"气泡"的位置. |
|
| 第4楼 csx163 | 发表于 2007-09-16 23:10 |
| 初级用户 发帖 45 积分 97 | |
|
书上是叫冒泡排序法
|
|
| 第5楼 s11ss | 发表于 2007-09-17 12:14 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by csx163 at 2007-9-16 11:10 PM: 有的书上就叫起泡排序. |
|
| 第6楼 yovie | 发表于 2007-09-17 13:18 |
| 初级用户 发帖 42 积分 92 来自 重庆市巫山县 | |
|
斑竹难道禁止我发言了?
|
|
| 第7楼 tianya921 | 发表于 2007-09-17 13:21 |
| 新手上路 发帖 4 积分 10 | |
|
有意思,不错,学习了.................
|
|
| 第8楼 jmz573515 | 发表于 2007-09-26 16:28 |
| 银牌会员 发帖 464 积分 1,212 | |
|
试着写了一个...
VBS版的 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |