冒泡排序(bubble sort)

冒泡排序java

       它是指这样一种排序:将一个待排序序列从头至尾依次两两相比较,若是后者比前者小,那么交换二者的位置。(一趟完成以后,最大的数字就在最后了)通过n-1趟比较事后,则排序完成。code

        比较过程以下:排序

        先将R[0]与R[1]比较,若是R[0]>R[1],那么将二者交换,而后比较R[1]与R[2],依次类推,直到比较到R[n-2]与R[n-1]。这样比较完一趟以后,最大的数字就已经排在序列最后了(这样就排好最大的数字)。而后再重复上面的步骤,将第2大,第3大的数字,……都排好,那么整个序列就排列好了。class

        这个排序一共会比较n-1趟。sort

public static int[] bubbleSort(int[] sort) {
        int temp;
        int i, j;
        // 一共会比较n-1次
        for (i = 0; i < sort.length - 1; i++) {
            // 每次将最大的数沉底
            for (j = 1; j < sort.length - i; j++) {
                // 若是后一个数比前一个数小,那么交换两个数的位置
                if (sort[j] < sort[j - 1]) {
                    temp = sort[j];
                    sort[j] = sort[j - 1];
                    sort[j - 1] = temp;
                }
            }
        }
        return sort;
    }
相关文章
相关标签/搜索