冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。重复地进行以上步骤直到整个数列排序完成。

具体实现过程如下:

  1. 比较相邻的元素,如果前一个元素比后一个元素大,就交换这两个元素的位置。

  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步完成后,最后的元素应该是最大的数。

  3. 针对所有的元素重复以上的步骤,除了最后一个。

  4. 持续每次对越来越少的元素重复上述步骤,直到没有任何一对数字需要比较。

实现代码如下:

void bubbleSort(int arr[], int n) {
    int i, j;
    for (i = 0; i < n-1; i++) {
        for (j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

时间复杂度为 O(n^2)。

冒泡排序算法详解 - 原理、实现和时间复杂度

原文地址: https://www.cveoy.top/t/topic/lRgv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录