基础算法(三)---冒泡排序(Java)

来源:互联网 发布:js数组的方法 编辑:程序博客网 时间:2024/06/16 22:39

创建一个冒泡排序类,实例中处理的是int型数据,可以根据需要进行替换:

package SortAlgorithm;/** * Created by Promacanthus on 2017/6/12. */public class BubbleSort {    int[] ints;    boolean exchange;    BubbleSort(int[] ints) {        this.ints = ints;    }    public void bubblesort(int[] ints) {        for (int i = ints.length - 1; i > 0; i--) {            exchange = false;            for (int j = 0; j < i; j++) {                if (ints[j] > ints[j + 1]) {                    swap(ints, j, j + 1);                    exchange = true;                }            }            if (!exchange){                return;            }        }    }    private void swap(int[] ints, int j, int i) {        int temp = ints[j];        ints[j] = ints[i];        ints[i] = temp;    }    public static void main(String[] args) {        int[] a = {4, 2, 1, 6, 3, 6, 0, -5, 1, 1};        BubbleSort bubbleSort = new BubbleSort(a);        bubbleSort.bubblesort(a);        for (int i = 0; i < a.length; i++) {            System.out.println(a[i]);        }    }}

在代码中设置boolean类型变量进行标记,如果在某次排序中没有进行过交换,那么说明带排序数据已经有序了,冒泡排序过程可以终止了。

原创粉丝点击