汇编程序设计——排序.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编程序设计mdash;mdash;排序.pptx汇编程序设计mdash;mdash;排序.pptx

研究型学习交流 汇编程序设计——排序 通信1103王鑫宇 目录 插入法 冒泡法 选择法 将序列划分成有序序列和无序序列,依次从无序序列中选择数据项值,并且将其插入到有序序列的合适位置。 插入法 2 4 1 无序序列: 有序序列: 4 2 插入法演示 INSERT_SORT PROC NEAR MOV CX,LEN ; 数据个数送CX DEC CX ; 共插入N-1次 XOR SI,SI ;SI清零 ADD SI,2 ;从第二个数开始插入 REPEAT1: MOV AX, ARRAY[SI ] ;将当前的数据保存在AX寄存器中 MOV DX, SI ;用DX记住数据的当前位置 MOV DI,CX ;用DI记住CX MOV CX,LEN ;设置REPEAT2的循环次数,为有序序列长度 SUB CX,DI REPEAT2: CMP AX,ARRAY[SI-2] ;依次比较当前数据和有序序列中数据 JG GOON MOV BX,ARRAY[SI-2] ;若当前数据较小,则将[SI-2]复制到下一位 MOV ARRAY[SI],BX SUB SI,2 LOOP REPEAT2 GOON: MOV ARRAY[SI],AX ADD DX,2 MOV SI,DX ;还原SI和CX MOV CX,DI LOOP REPEAT1 INSERT_SORT ENDP 插入法程序 相邻数据依次比较,若前者大,则交换。 比较的顺序从左边开始向右边进行,在进行一趟比较之后,把最值落在下端。 冒泡法 冒泡流程 开始 CX=N-1 CX→SI BX=0 [BX]=[BX+1] XCHG (BX)+1→BX (CX)-1→CX CX≠0 SI→CX (CX)-1→CX CX≠0 结束 Y N Y Y N N 2 4 1 冒泡法演示 MOV CX,NUM ;计数器赋值 DEC CX LOP1: MOV SI,CX MOV DI,1 ;交换标志位置1 LEA BX,BUF LOP2: MOV AL,[BX] CMP AL,[BX+1] JAE LOP3 ;若前项大于等于后项,则跳到LOP3 XCHG AL,[BX+1] ;若前项比后项小,则交换 MOV [BX],AL MOV DI,0 ;一旦产生交换,则DI置0 LOP3: INC BX LOOP LOP2 CMP DI,0 ;DI为0,则继续排序,否则跳到OK JNZ OK MOV CX,SI LOOP LOP1 OK: MOV BX,0 MOV CX,NUM 冒泡法程序 每一趟排序算法定位到一个最值和无序序列的第一个数交换。 第i趟假设i为最值下标,然后把最值和i+1至最后一个数比较,定位到最值的下标。如果最值下标不为初设值.那么把最值数据项和下标为i的数据项交换。 选择法 2 4 1 选择法演示 CHOOSE_SORT PROC NEAR XOR SI,SI MOV CX,LEN DEC CX ;共比较N-1次 ADD SI,2 REPEAT1: MOV DI,CX ;用DI记住CX MOV DX,SI ;用DX记住数据的当前位置 MOV AX,ARRAY[SI-2] REPEAT2: CMP AX,ARRAY[SI] JL GOON ;若AX小,则比较下一个数 XCHG AX,ARRAY[SI] ;若AX大,则交换, GOON: ADD SI,2 LOOP REPEAT

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档