• 八种排序整理(三)----冒泡排序


    冒泡排序可以说是最常用的也是最容易理解的一种排序了,从最早接触计算机语言掌握的第一种排序

    就是冒泡排序。

    基本概念:对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于

    后面的记录时,交换其位置,进行一轮比较和交换位置后,n个记录中的最大记录将位于第n位;然后对

    前(n - 1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个为止。

    冒泡排序基本思想是:对待排序的数字进行两两比较,如发现两个数字是反序的,则进行交换,直到无反序的

    记录为止。

    冒泡排序特点分析:

    稳     定   性:稳定。

    时间复杂度:总共比较 n(n-1)/2 次  时间复杂度为O(n2)。

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 void BubbleSort(int array[], int len)
     6 {
     7     int i, j;
     8     int temp;
     9 
    10     for (i = 0; i < len -1; ++i)
    11     {
    12         for (j = len - 1; j > i; --j)
    13         {
    14             if (array[j] < array[j - 1])
    15             {
    16                 temp = array[j];
    17                 array[j] = array[j - 1];
    18                 array[j - 1] = temp;
    19             }
    20         }
    21     }
    22 }
    23 
    24 int main()
    25 {
    26     int i = 0;
    27     int a[] = {29, 18, 87, 56, 3, 27};
    28     int length = sizeof(a) / sizeof(a[0]);
    29 
    30     BubbleSort(a, length);
    31 
    32     for (i = 0; i < length; i++)
    33     {
    34         printf("%d ", a[i]);
    35     }
    36     printf("
    ");
    37     while(1);
    38 
    39     return 0;
    40 }

  • 相关阅读:
    struts2之拦截器
    JavaWeb开发之HttpServletResponse
    JavaWeb开发之Servlet
    HTTP协议详解
    字符串
    数组
    第一个只出现一次的字符
    DDoS的类型及原理
    引用变量&和指针*的区别
    赋值运算符的重载
  • 原文地址:https://www.cnblogs.com/kutoli/p/8329204.html
Copyright © 2020-2023  润新知