• 排序法系列-冒泡排序法


    冒泡排序法是排序法中比较基础的一个,貌似接触过的第一个排序法就是他咯,相对比起来,这个东西把,代码是最简单的也是最好理解的(相对其他来说),也比较形象,真就像冒泡一样,最大的数先往上冒,之后是第二大的,以此类推。

    举例

    【1】【2】【3】 【4】  【5】  【6】  【7】  【8】  

       2     4      3      88      90      23      10      18

      (1)从【1】开始比较,【1】和【2】比较如果【1】大于【2】,调换,否则不变。之后比较【2】【3】以此类推,最后最大的值会被调换到最后一位。

       (2)  之后继续重复(1)操作

    相比其他排序算法,其时间复杂度为o(n^2);也差不多是最高的了~~!

    一共需要计算的次数:n*n,就是时间复杂度;

    出代码

    #include <stdio.h>

    void BubbleSort(int *a,int num)

    {

        int tmpNum;

        for (int i=num; i>=0; i--) {

            for (int j=0; j<num; j++) {

                if (a[j]>a[j+1]) {

                    tmpNum = a[j];

                    a[j] = a[j+1];

                    a[j+1] = tmpNum;

                }

            }

        }

    }

    int main(int argc, const char * argv[]) {

        // insert code here...

        int a[6] = {26,23,4,5,77,55};

        BubbleSort(a, 6);

        for (int i =0; i<6; i++) {

            printf("%d",a[i]);

            printf(" ");

        }

        printf("Hello, World! ");

        return 0;

    }

  • 相关阅读:
    英文字典。怎样设计数据结构
    最近看的几部电影电视剧
    pylucene 中文
    提高浏览体验的五十个最佳FireFox扩展插件
    结构和细节
    <传> 《程序猿装B指南》,程序员童鞋们请认真学习
    c++ builder TTreeView customSort 实现 自定义排序
    《转》c++ 字符串系列:字符编码进阶(下)
    庆祝我又读完一本书
    c++ 回调函数深究
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4745212.html
Copyright © 2020-2023  润新知