【开发】排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

发布时间:2018-08-15 18:59:31

排序算法有:

冒泡排序、插值排序、选择排序、HASH排序、快速排序

冒泡排序:

public static void bubbleSort(int[] array) {

    for (int i = 1; i < array.length; i++) {

    for (int j = 0; j < i; j++) {

    if (array[i] < array[j]) {

    int temp = array[i];

    array[i] = array[j];

    array[j] = temp;

    }

    }

    }

}

快速排序:

public class QuickSort {

    public void quickSort(String[] strDate, int left, int right) {

    String middle, tempDate;

    int i, j;

    i = left;

    j = right;

    middle = strDate[(i + j) / 2];

    do {

    while (strDate[i].compareTo(middle) < 0 && i < right)

    i++; // 找出左边比中间值大的数

    while (strDate[j].compareTo(middle) > 0 && j > left)

    j--; // 找出右边比中间值小的数

    if (i <= j) { // 将左边大的数和右边小的数进行替换

    tempDate = strDate[i];

    strDate[i] = strDate[j];

    strDate[j] = tempDate;

    i++;

    j--;

    }

    } while (i <= j); // 当两者交错时停止


    if (i < right) {

    quickSort(strDate, i, right);

    }

    if (j > left) {

    quickSort(strDate, left, j);

    }

    }


    public static void main(String[] args) {

    String[] strVoid = new String[] { "11", "66", "22", "0", "55", "22", "0", "32" };

    QuickSort sort = new QuickSort();

    sort.quickSort(strVoid, 0, strVoid.length - 1);

    for (int i = 0; i < strVoid.length; i++) {

    System.out.println(strVoid[i] + " ");

    }

    }

}

远近互联技术-刘 整理发布,希望能对同是技术的你有所帮助。

远近互联专业提供网站建设、APP开发、网站优化、外贸网站SEO、微信运营的品牌整合营销服务,让客户通过网络品牌建立与网络传播提高业绩。

【相关推荐】