排序算法——冒泡排序

Posted 称霸西关一条街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法——冒泡排序相关的知识,希望对你有一定的参考价值。

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

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

#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)。

以上是关于排序算法——冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之冒泡选择插入排序(Java)

排序算法_冒泡排序(算法设计与C代码实现)

三大基础排序算法(冒泡排序,选择排序,插入排序)

交换排序(冒泡排序快速排序的算法思想及代码实现)

冒泡排序

冒泡排序算法原理和代码实现,就是这么简单。。。