zoukankan      html  css  js  c++  java
  • 常用排序算法冒泡排序

    冒泡排序

    冒泡法排序就是将需要排序内容从第一个元素开始,与相邻元素比较大小,将较大的/较小的放到后边,第一次遍历最后一个元素是最大/最小。

    依次类推,第二次将倒数第二大/第二小元素放到倒数第二的位置。直到全部元素按照顺序排列。

    比如5个元素:

    第一次遍历 需要比较4次(相邻元素之间比较,最坏情况)

    第二次遍历 比较3次

    ...

    第四次遍历 比较1次

    所以算法复杂度是n*(n-1)/2

    Bubble sort
     1 #include<iostream>
     2 using namespace std;
     3 void display(int array[], int n)
     4 {
     5       for(int count=0;count<n;count++)   //print all items of array
     6     {
     7             cout<<array[count]<<'\t';
     8             }
     9       cout<<endl;
    10      } 
    11 int bubble_sort(int array[], int n)         
    12 {
    13     int temp=0,count=0 ;           //set an temporary  variable
    14     cout<<"debug information:"<<endl;
    15     for(int i=0;i<n;i++)
    16     {    
    17             for(int j=0;j<n-i-1;j++)
    18              {          
    19                  if(array[j]>array[j+1])
    20                  {
    21                      temp=array[j+1];
    22                       array[j+1]=array[j];
    23                       array[j]=temp;
    24                      count++;  
    25                  }
    26                   display(array,n );
    27             } 
    28              
    29      }
    30     cout<<count<<endl;
    31     return 0;
    32     }
    33 int main()
    34 {
    35     int array[5]={35,14,3,02,-1};
    36     int num_array=sizeof(array)/sizeof(int);  //获取数组长度 
    37     cout<<"before sort the array is :"<<endl;   
    38     display(array,num_array);
    39     bubble_sort(array,num_array); 
    40     cout<<"after sort the array is :"<<endl;   
    41     display(array,num_array);
    42     system("pause");
    43     return 0;
    
    44     } 

    选择法排序算法

     http://www.cnblogs.com/tobecrazy/archive/2013/03/14/2960526.html

    插入法排序算法

    http://www.cnblogs.com/tobecrazy/archive/2013/03/26/2983292.html

    转载请注明出处:http://www.cnblogs.com/tobecrazy/

    软件测试交流QQ群:312937087 we are QA!

  • 相关阅读:
    玩转JavaScript module pattern精髓
    玩转Javascript 给JS写测试
    Feature Toggle JUnit
    状态机模式实战
    Java静态类
    Guava增强for循环
    Spring Security使用心得
    听个响
    Geoserver2.16.2初步使用
    GeoWebCache1.10.5发布arcgis瓦片服务
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/2958337.html
Copyright © 2011-2022 走看看