冒泡排序和快速排序的Java实现

算法

冒泡排序

冒泡排序的基本操作是对数组的元素两两比较,较大的往区间后面移动;第一轮将最大的元素移到最后,接着是第二大,照此进行,总共需要进行n-1轮,n=数组的长度。

/**
 * 冒泡排序
 * @param arr
 */
public static void bubbleSort(int[] arr) {
    for(int i=arr.length-1;i>0;i--) {//循环n-1次,n=数组长度
        for(int j=0;j

快速排序

/**
 * 快速排序
 * @param arr
 * @param start
 * @param end
 */
public static void quickSort(int[] arr, int start, int end) {
    if(end-start<2) return; //退出条件
    int l = start, r = end, p = arr[l]; //区间左右索引,以及用来分区的元素
    while(lp) r--;  //从右向左逐个比较,寻找小于p的元素位置
        if(l

--

你可能感兴趣的:(冒泡排序和快速排序的Java实现)