关闭

交换排序之冒泡排序

标签: 冒泡排序排序算法
41人阅读 评论(0) 收藏 举报
分类:

交换排序

交换排序的基本思想是:两两比较待排序记录的关键字,发现记录的次序相即交换,直到没有反序的为止。应用中思想的排序算法有冒泡排序和快速排序。

冒泡排序

冒泡排序算法就是交换排序的一种直接的简单的应用。第一轮循环时,从一个元素开始,将第一个元素与第二个元素关键字比较,出现逆序则交换,然后比较第二个和第三个,。。。,依次下去,则第一轮循环可以将最大的数放到最后(假设正序)。第二轮循环针对剩下的n1个元素。

该算法的Java实现代如下

package com.lyn.thinkinginjava.chapter6;

public class BubbleSort {

    public static void main(String[]args){
        int[] A={1,3,4,2,6,9,8,5,7};
        bubbleSort(A);
        for(int i=0;i<A.length;i++){
            System.out.println(A[i]);
        }
    }

    public static void swap(int[] A, int i,int j){
        int temp=A[i];
        A[i]=A[j];
        A[j]=temp;
    }

    public static void bubbleSort(int[] A){
        int n=A.length;
        for(int i=0;i<n;i++){
            for(int j=i;j<n;j++){
                if(A[j]<A[i]){
                    swap(A,i,j);
                }
            }

        }
    }


}

冒泡排序算法的时间复杂度
n1+...+3+2+1=O(n2)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:614次
    • 积分:63
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档