开发者社区 问答 正文

用汇编语言实现冒泡排序算法??

用汇编语言实现冒泡排序算法??

展开
收起
知与谁同 2018-07-18 18:11:26 1852 分享 版权
3 条回答
写回答
取消 提交回答
  • 社区管理员
    public void Accp(int a[]) { //数组的冒泡排序
    int n = a.length;
    for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - 1; j++) {
    if (a[j] > a[j + 1]) {
    int temp = a[j];
    a[j] = a[j + 1];
    a[j + 1] = temp;
    }
    }
    }
    }
    2019-07-17 22:50:16
    赞同 展开评论
  • 静静的看着你们
    mov就是简单的传送语句啦。LZ问的应该是功能吧。。呵呵首先要知道冒泡排序的原理:把一组数从第一个数开始两两相比。小的在前(从小到大排),否则交换位置你这段代码LOOP1应该是控制循环次数的,LOOP2才是比较大小的。你能给我完整的代码段么。我可以给你解释。。。
    2019-07-17 22:50:16
    赞同 展开评论
  • 杀人者,打虎武松也。
    ;===缓冲区定义例子===
    BUF DB '256489713'
    N EQU $-BUF

    ;===起泡排序代码例子===
    lea si,BUF ;缓冲区地址
    mov cx,N ;缓冲区中要排序的数值个数
    sss_lp1:
    dec cx
    jz sss_out
    push si
    push cx
    sss_lp2:
    mov al,[si]
    cmp al,[si+1]
    jc sss_next
    xchg al,[si+1]
    mov [si],al
    sss_next:
    inc si
    loop sss_lp2
    pop cx
    pop si
    jmp sss_lp1
    sss_out: ;完成退出处
    2019-07-17 22:50:16
    赞同 展开评论