使用交换标志的冒泡排序算法汇编源代码
来源:互联网 发布:中印国力对比 知乎 编辑:程序博客网 时间:2024/05/16 00:39
TITLE Program Template
;程序的描述:冒泡排序算法,使用交换标志
;作者:落叶树
;创建日期:16:04 2007-8-6
;版本:
INCLUDE Irvine32.inc
BubbleSort proto,pArray:ptr dword,Count:dword ;原型声明。
.data
ArraySize=50
array dword ArraySize dup (?)
.code
main PROC
call Randomize
mov edi,offset array
mov ecx,ArraySize
L1:
mov eax,ArraySize
call RandomRange
stosd
loop L1 ;生成0-arraysize范围内的随机数。
invoke BubbleSort,addr array,ArraySize
mov esi,offset array ;显示数组。
mov ecx,lengthof array
mov ebx,type array
call DumpMem
call Crlf
exit
main ENDP
;其他子程序
BubbleSort proc uses ecx edx esi edi,
pArray:ptr dword,
Count :dword
local xFlag:byte ;交换标志
mov ecx,count
dec ecx
;and xFlag,0
L1:
and xFlag,0 ;交换标志要放循环里面检测内循环是否有交换,默认置0
push ecx
mov esi,pArray
L2:
mov eax,[esi]
cmp eax,[esi+4]
jle L3 ;jle为顺序排列,jge为逆序排列。
xchg eax,[esi+4]
mov [esi],eax
or xFlag,1 ;如果有交换则置1。
L3:
add esi,4
loop L2
pop ecx
cmp xFlag,1 ;检测交换标志,内循环无交换则排序完毕直接退出。
jnz quit
loop L1
quit:
ret
BubbleSort endp
END main
- 使用交换标志的冒泡排序算法汇编源代码
- 汇编——带标志位的冒泡排序
- 排序算法-交换排序_冒泡排序
- 冒泡排序算法的使用
- 排序算法--交换排序之冒泡
- 算法:交换排序之冒泡排序
- 算法之美--交换排序--冒泡排序
- 交换排序算法:冒泡排序-Bubble Sort
- 排序算法系列-交换之冒泡排序
- 选择,插入,交换,冒泡,希尔排序算法的效率比较
- 冒泡排序的交换次数
- 冒泡排序的交换次数
- 常见的排序算法(三) 交换排序(冒泡排序,快速排序)
- 汇编编写的 冒泡排序
- 排序算法----交换排序(冒泡排序,快速排序)
- 算法排序-交换排序(冒泡排序,快速排序)
- 各种排序算法汇总(交换排序:冒泡排序、快速排序)
- 交换排序:冒泡排序、选择排序【排序算法】
- JSP页面间的中文传值乱码问题,解决方案
- ajax脚本1
- GBK与UTF-8 的区别和联系 及为什么使用UTF-8进行软件开发
- java 学习笔记-java的算术运算符“/”和“%”的应用技巧
- C#利用CDOSYS组件发邮件的一些小结
- 使用交换标志的冒泡排序算法汇编源代码
- teststetttset
- 最经典的string和stringbuffer区别
- Soft-Edged Shadows
- JS图片横向滚动出现
- Asp函數介紹
- 有没有人告诉你
- jsp传递中文参数乱码问题
- 什么极限编程?