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),但其在实现过程中含有大量的数据比较、移动操作,因此其性能表现甚至无法和插入排序相比。但在对基本有序的序列进行排序时,其性能尚可。

     

  • 相关阅读:
    oracle索引学习
    (转载)Windows下手动完全卸载Oracle
    Funsion Charts 学习(二)
    Funsion Charts 学习(一)
    集合操作
    文件操作
    字典操作
    字符串操作
    列表操作
    python基本运算
  • 原文地址:https://www.cnblogs.com/stormli/p/bubble_sort.html
Copyright © 2011-2022 走看看