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

    算法思想:

    遍历序列,当前元素比前一元素小时,交换他们,这样一次遍历之后,最大元素出现在序列尾端,遍历n次之后序列即为有序序列。

    算法实现:

     1 void bubble_sort(int A[],int n )
     2 {
     3     int end = n-2;
     4     while ( end > 0 )
     5     {
     6         int pos = -1;
     7         for( int i = 0 ; i <= end; i ++ )
     8         {
     9             if( A[i] > A[i+1] )
    10             {
    11                 swap(A[i],A[i+1]);
    12                 pos = i;
    13             }
    14         }
    15         end = pos;
    16     }
    17 }
    View Code

    算法性能:

    平均:O(n2)

    最差:O(n2)

    最优:O(n)

    使用场景:

    冒泡排序的性能表现较差,虽然与插入排序相比时间复杂度均为O(n2),但其在实现过程中含有大量的数据比较、移动操作,因此其性能表现甚至无法和插入排序相比。但在对基本有序的序列进行排序时,其性能尚可。

     

  • 相关阅读:
    unit 21
    unit 20
    unit 19
    第十八单元
    17 unit
    ES 中文分词
    ES 的CRUD 简单操作(小试牛刀)
    ES 必备插件的安装
    ES的安装运行
    JAVA_HOME 的设置
  • 原文地址:https://www.cnblogs.com/stormli/p/bubble_sort.html
Copyright © 2011-2022 走看看