zoukankan      html  css  js  c++  java
  • C 实现冒泡排序

    #include <stdio.h>
    #define SIZE 8
    void bubble_sort(int a[], int n);
    void bubble_sort(int a[], int n) {
        int i, j, temp;
        for (j = 0; j < n - 1; j++)
            for (i = 0; i < n - 1 - j; i++) {
                if (a[i] > a[i + 1]) {
                    temp = a[i + 1];
                    a[i + 1] = a[i];
                    a[i] = temp;
                }
            }
    }
    int main(void) {
        int number[SIZE] = { 6, 5, 4, 6, 8, 3, 2, 9 };
        bubble_sort(number, SIZE);
        int i;
        for (i = 0; i < SIZE; i++) {
            printf("%d ", number[i]);
        }
        printf("
    ");
        return 0;
    
    }

    冒泡排序原理:每次让相邻两个元素比较,比较出较大的一个,每次循环产生一个最大数,总共进行 n-1 次循环,每次循环内嵌排除已经产生最大数部分的循环,内嵌循环再产生最大数。由外层循环决定内嵌循环的结束临界点。冒泡排序时间复杂度O(n²),排序稳定,是一种稳定排序算法。

  • 相关阅读:
    luogu P3174 毛毛虫
    P3386二分图最大匹配模版
    P4180 严格次小生成树
    差分约束
    高斯消元
    P1306 斐波那契公约数
    极值
    排序
    P1852 [国家集训队]跳跳棋
    高精度模版
  • 原文地址:https://www.cnblogs.com/loongqiang/p/3776993.html
Copyright © 2011-2022 走看看