初学者怎样看懂代码 如何使用汇编语言实现冒泡排序?
浏览量:2710
时间:2021-03-15 07:05:12
作者:admin
如何使用汇编语言实现冒泡排序?
===缓冲区定义示例==
buf DB“256489713”
n eq$-buf
==气泡排序代码示例===
lea Si,buf buffer address
mov CX,要在n个缓冲区中排序的值数
SSSulp1:
dec cx
jz SSSuout
push si
push cx
SSSulp2:
mov al,[si]
cmp al,[si 1]
jc SSSunext
xchg al,[si 1]
mov[si],al
SSSuNext:
inc si
loop SSSulp2
pop cx
pop si
jmp SSSu1
SSSuout:完成退出位置
依次比较两个相邻的数字,把小数放在前面,把大的数字放在后面。也就是说,在第一遍:首先,比较第一和第二个数字,把小数放在前面,把大的数字放在后面。然后比较数字2
和数字3,将小数点放在数字前面,将大数放在数字后面,依此类推,直到比较完最后两个数字,将小数点放在数字前面,将大数放在数字后面。到目前为止,第一次通过已经结束,最大的数字已经结束。第二遍:从第一个对数开始比较
(由于第二个数和第三个数的交换,第一个数不再小于第二个数),将小数点放在前面,中间数和大数,然后比较到倒数第二个数(倒数第二个数的位置是最大的),第二遍
最后,在倒数第二个位置得到一个新的最大数(实际上是整个序列中第二大的数)。这样,重复上述过程,直到完成最终排序。
第一次,将下标0的个数与下面的n-1进行比较;找出最小或最大的一个,放在下标0的位置;第二次,从下标1的位置进行比较;查询剩余的最大或最小值;放在
下标1的位置;依此类推;直到排序结束已完成
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
一些简单的c语言 !c语言