• 起泡排序


    起泡排序算法思路

    有序概念

    在由一组整数组成的序列A[0, n - 1]中,满足A[i - 1] < A[i]的相邻元素称作顺序的;否则是逆序的。不难看出,有序序列中每一对相邻元素都是顺序的,亦即,对任意1 < i < n都有A[i - 1] < A[i];反之,所有相邻元素均顺序的序列,也必然整体有序。

    思路

    由有序序列的上述特征,我们可以通过不断改善局部的有序性实现整体的有序:从前向后依次检查每一对相邻元素,一旦发现逆序即交换二者的位置。对于长度为n的序列,共需做n - 1次比较和不超过n - 1次交换,这一过程称作一趟扫描交换。每一趟扫描都至少会有一个元素就位。

    排序过程中,所有元素朝各自最终位置亦步亦趋的移动过程,犹如气泡在水中的上下沉浮,起泡排序(bubble sort)算法也因此得名。

    起泡排序实现

    void bubble_sort(int data[], int n)
    {
        int sorted = 0; // false
        int i;
    
        while (!sorted)
        {
            sorted = 1;
            for (i = 1; i < n; i++)
            {
                if (data[i-1] > data[i])
                {
                    int temp = data[i];
                    data[i] = data[i-1];
                    data[i-1] = temp;
                    sorted = 0;
                }
            n--; 
        }
    }
  • 相关阅读:
    冒泡排序(js版)
    闭包
    继承 (js原型链)
    DBUtility SqlHelp
    ERP 分录大全(轉六朝古都)
    ebs 11i 订单相关表结构学习及销售到出仓所经历的表
    采购管理系统基本概念
    Oracle Purchase Order Types
    PO主要SQL
    学习hashtable
  • 原文地址:https://www.cnblogs.com/furzoom/p/7710300.html
Copyright © 2020-2023  润新知