1. 程式人生 > >排序算法——冒泡排序

排序算法——冒泡排序

比較 復雜度 空間復雜度 如果 log 交換排序 交換 冒泡 ++

  冒泡排序是一種交換排序,每一趟排序過程中都不斷的比較相鄰兩個元素的大小,如果滿足條件(遞增或者遞減),則交換相鄰兩個元素的位置。

  冒泡排序比較簡單,就不必過多闡述,代碼實現如下:

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

排序算法——冒泡排序