汇编语言的冒泡排序和二分法
来源:互联网 发布:mac如何设置用户名 编辑:程序博客网 时间:2024/05/01 20:28
;******************************************TITLE 汇编语言的冒泡排序的使用;******************************************;******************************************;程序平台说明.386.MODEL FLAT,STDCALLOPTION CASEMAP:NONE;******************************************;******************************************;文件包含INCLUDE Irvine32.inc;******************************************;******************************************;数据段的定义.DATAarrayTmp byte 10,12,45,12,45,01,12,78,0strEnter byte 0dh,0ah,0;******************************************;******************************************;代码段的定义.CODEmain proc ;外部循环次数设定 MOV ECX,SIZEOF arrayTmp ;外部循环索引设定 XOR ESI,ESI L1: PUSH ECX; ;内部循环索引的起始值 MOV EDI,ESI ;内存循环的次数设定 MOV ECX,SIZEOF arrayTmp SUB ECX,EDI ;开始内部循环 L2: XOR EAX,EAX MOV AL,arrayTmp[esi] CMP al,arrayTmp[edi] JB L3; ;进行交换操作 XCHG AL,arrayTmp[EDI] MOV arrayTmp[esi],AL L3: ;内部循环索引自增 inc edi loopd L2; pop ecx ;外部循环索引自增 inc esi loopd L1; ;开始查看结果,循环输出 mov ecx,sizeof arrayTmp xor esi,esi L4: movzx eax,arrayTmp[esi] call WriteInt ;输出换行 mov edx,offset strEnter call WriteString inc esi loopd L4; exitmain endpend main;******************************************
PS:这是冒泡排序的实现,各步骤已经很明显了;
然后对应的C++实现的过程是
for(int i=0;i<9;i++) for(int j=i;j<9;j++) { if(arrayTmp[i]>arrayTmp[j]) { byte tmp=arrayTmp[i]; arrayTmp[i]=arrayTmo[j]; arrayTmp[j]=tmp; } }
0 0
- 汇编语言的冒泡排序和二分法
- 冒泡排序和二分法排序的比较!!!
- 冒泡排序和二分法
- Java的冒泡排序和二分法查找
- 冒泡排序和二分法排序
- 冒泡排序法和二分法排序
- Java的冒泡排序及二分法排序
- ************** 冒泡、选择排序二分法 **************
- 笔试经常遇到的选择排序、冒泡排序和二分法查找
- 汇编语言实现简单的冒泡排序
- 冒泡排序、选择和插入排序、二分法查找
- 汇编语言冒泡排序法
- 汇编语言实现冒泡排序
- 汇编语言冒泡排序
- 汇编语言实现冒泡排序
- 汇编语言---冒泡排序
- 汇编语言--冒泡排序
- 汇编语言 冒泡排序
- 常用查询条件
- Hessian服务搭建
- Android/Linux Kernel 記憶體管理-入門筆記
- AVCapture中实现拉近拉远镜头
- MySQL处理千万级数据查询分页
- 汇编语言的冒泡排序和二分法
- 认识java.lang.Runtime类
- Win8 WiFi共享设置
- 并发性能计数器模块
- F1Book使用总结
- 解决: 用代码改变listview的item背景色时,点击一个item,每隔几个item背景色重复
- 使用mysql dump 导入与导出的方法
- ArcGIS Engine Style文件操作
- Windows Azure 功能更新:可用性99.99+%的容灾站点只读访问,调度服务,监控服务改进