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

    冒泡排序,对于这个算法来说是非常贴切的名称。这个算法的基本思路就是让数组想水中的气泡一样小的往上浮,大的往下沉淀。从而使得数组有序。做法很简单:如果数组为an第一次循环整个数组长度n一旦发现相邻的两个数坐标大的比较小那么就交换数据保证大的数坐标比较大,就这样一直比较到最后一个数,那么一定有a[n] = Max {an};那么下一次循环就减一次,这样a[n-1]就是除了Max {an}以外最大的数。这样完成一趟又一趟交换之后就使得整个数组有序。

    代码如下:

     1 void bubble_sort(int array[], int n) 
     2 
     3 { 
     4 
     5     int tmp, tlen; 
     6 
     7    
     8 
     9     while(n) 
    10 
    11     { 
    12 
    13         tlen = 0; 
    14 
    15    
    16 
    17         for(int i = 1; i < n; ++i) 
    18 
    19         { 
    20 
    21             if(array[i - 1] > array[i]) //如果数标大的数小则交换数据
    22 
    23             { 
    24 
    25                 tlen = i; 
    26 
    27    
    28 
    29                 // 交换元素(swap) 
    30 
    31                 tmp = array[i]; 
    32 
    33                 array[i] = array[i - 1]; 
    34 
    35                 array[i - 1] = tmp; 
    36 
    37             } 
    38 
    39         } 
    40 
    41    
    42 
    43         // 刷新待排数组长度 
    44 
    45         n = tlen; 
    46 
    47     } 
    48 
    49 } 

    这个算法比较简单,我就懒得多说了

  • 相关阅读:
    ZOJ 2158 Truck History
    Knight Moves (zoj 1091 poj2243)BFS
    poj 1270 Following Orders
    poj 2935 Basic Wall Maze (BFS)
    Holedox Moving (zoj 1361 poj 1324)bfs
    ZOJ 1083 Frame Stacking
    zoj 2193 Window Pains
    hdu1412{A} + {B}
    hdu2031进制转换
    openjudge最长单词
  • 原文地址:https://www.cnblogs.com/XCoderLiu/p/3170535.html
Copyright © 2011-2022 走看看