首页 > 代码库 > 排序算法——冒泡排序

排序算法——冒泡排序

  冒泡排序是一种交换排序,每一趟排序过程中都不断的比较相邻两个元素的大小,如果满足条件(递增或者递减),则交换相邻两个元素的位置。

  冒泡排序比较简单,就不必过多阐述,代码实现如下:

#include <stdlib.h>
#include <stdio.h>

void BubbleSort(int A[], int n)
{
    int i, j, temp;
    for(i = 0; i < n-1; i++)        // 进行n-1趟排序
    {
        for(j = n-1; j > i; j--)    // 从后向前不断比较相近元素的大小
        {
            if(A[j] > A[j-1])       
            {
                temp = A[j];        // 交换相邻的元素
                A[j] = A[j-1];
                A[j-1] = temp;
            }
        }
    }
}

冒泡排序的时间复杂度为O(n2),空间复杂度为O(1)。

排序算法——冒泡排序