美文网首页
冒泡排序

冒泡排序

作者: 一代骄马 | 来源:发表于2018-09-11 12:41 被阅读15次

    一 冒泡排序

    冒泡排序

    /**

    * 【冒泡排序】:相邻元素两两比较,比较完一趟,最值出现在末尾

    * 第1趟:依次比较相邻的两个数,不断交换(小数放前,大数放后)逐个推进,最值最后出现在第n个元素位置

    * 第2趟:依次比较相邻的两个数,不断交换(小数放前,大数放后)逐个推进,最值最后出现在第n-1个元素位置

    * ……  ……

    * 第n-1趟:依次比较相邻的两个数,不断交换(小数放前,大数放后)逐个推进,最值最后出现在第2个元素位置

    */

    void bublleSort(int *arr, int length) {

        for(int i = 0; i < length - 1; i++) { //趟数

            for(int j = 0; j < length - i - 1; j++) { //比较次数

                if(arr[j] > arr[j+1]) {

                    int temp = arr[j];

                    arr[j] = arr[j+1];

                    arr[j+1] = temp;

                }

            }

        }

    }

    图解排序算法(一)之3种简单排序(选择,冒泡,直接插入) - dreamcatcher-cx - 博客园

    需要比较 n*(n-1)/2 次。因此时间复杂度是O(n^2)。

    相关文章

      网友评论

          本文标题:冒泡排序

          本文链接:https://www.haomeiwen.com/subject/tvxugftx.html