程序员社区

冒泡排序

原理:整个过程就像气泡一样往上升,单向冒泡排序的基本思想是:对于给定的n个数据,从第一个记录开始依次对相邻的俩个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录的最大值将位于第n位,然后对前(n-1)个记录进行第二轮比较,重复该过程,直到记录只剩下一个为止。ps:这是我记住的第一个排序算法。

 

俩种方法:

package 冒泡排序;

public class BubbleSort {
    public void bubble1(int array[]) {
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int temp = 0;
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
    }

    public void bubble2(int array[]) {
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = array.length - 1; j > i; j--) {
                if(array[j]<array[j-1]){
                    int temp = 0;
                    temp = array[j];
                    array[j] = array[j - 1];
                    array[j - 1] = temp;
                }
            }
        }
    }
}
package 冒泡排序;

public class Test03 {
    public static void main(String[] args) {
//      int a[] = {5,4,9,8,7,6,0,1,3,2};
//      BubbleSort bubbleSort = new BubbleSort();
//      bubbleSort.bubble1(a);
//      for(int n:a){
//          System.out.println(n);
//      }
        int a[] = {5,4,9,8,7,6,0,1,3,2};
        BubbleSort bubbleSort = new BubbleSort();
        bubbleSort.bubble2(a);
        for(int n:a){
            System.out.println(n);
        }
    }
}

0
1
2
3
4
5
6
7
8
9

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 冒泡排序

一个分享Java & Python知识的社区