冒泡排序

来源:互联网 发布:汉字书写教学软件 编辑:程序博客网 时间:2024/06/06 08:24

原理是将临近数字两两比较,按照从大到小或者从小到大顺序交换(第一个与第二个比较,第二个与第三个比较)。这样第一趟过去后,导数第一个数已经排好序。第二趟对第一个数到倒数第二个数字进行排序。

java实现冒泡排序:

public class BubbleSort{
     public static void main(String[] args){
         int score[] = {67, 69, 75, 87, 89, 90, 99, 100};
         for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序
             for(int j = 0 ;j < score.length - i - 1; j++){    //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
                 if(score[j] < score[j + 1]){    //把小的值交换到后面
                     int temp = score[j];
                     score[j] = score[j + 1];
                     score[j + 1] = temp;
                 }
             }            
             System.out.print("第" + (i + 1) + "次排序结果:");
             for(int a = 0; a < score.length; a++){
                 System.out.print(score[a] + "\t");
             }
             System.out.println("");
         }
             System.out.print("最终排序结果:");
             for(int a = 0; a < score.length; a++){
                 System.out.print(score[a] + "\t");
        }
     }
 }


python 实现冒泡排序:

array = [1,2,3,6,5,4]for i in range(len(array)):    for j in range(i):        if array[j] > array[j + 1]:            array[j], array[j + 1] = array[j + 1], array[j]print array
转自:http://www.cnblogs.com/Robbery/p/3598471.html


冒泡排序复杂度分析:

时间复杂度n^2

空间复杂度n


0 0