zoukankan      html  css  js  c++  java
  • 改进的冒泡算法

        在百度百科中的代码:

    void bubble_sort(int a[], int n)
    {
        int i, j, temp;
        for (j = 0; j < n - 1; j++)
            for (i = 0; i < n - 1 - j; i++)
            {
                if(a[i] > a[i + 1])
                {
                    temp = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = temp;
                }
            }
    }
    View Code

    改进后:

     1 void bubble_sort(int a[], int n)
     2 {
     3     int i, j, temp;
     4 
     5     for (i = 0; i < n; i++) {
     6         for (j = 1; j < n - i; j++) {
     7             if (a[i] > a[i + j] ) {
     8                 temp = a[i];
     9                 a[i] = a[i + j];
    10                 a[i + j] = temp;
    11             }
    12         }
    13         printf("a[%d] = %d
    ", i, a[i]);
    14     }
    15 }

    前数: a[i] 

    后数: a[i + j]

    外循环: 前数

        从下标0开始;

    内循环: 后数

        从下标1开始;

    交换(数据)代码:

        (1) 把前数赋值给临时变量(temp);

        (2) 把后数赋值给前数;

        (3) 把临时变量赋值给后数

  • 相关阅读:
    C++程序设计实验-3
    函数
    C++简单程序设计
    C++程序设计实验-2
    C++程序设计实验-1
    项目总结
    团队测试计划
    第二阶段团队绩效评分
    第二阶段scrum-10
    第二阶段scrum-9
  • 原文地址:https://www.cnblogs.com/xiaobin-hlj80/p/5394149.html
Copyright © 2011-2022 走看看