真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

排序算法java實(shí)現(xiàn)-創(chuàng)新互聯(lián)

快速排序

思路:

為上黨等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及上黨網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、上黨網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
  1. 從左邊選一個(gè)目標(biāo)元素target。 i = left, j = right;
  2. 從j處右往左遍歷,直到找到一個(gè)比 target 小的元素;然后從i處左往右遍歷,直到找到一個(gè)比target 大的元素;
  3. 此時(shí)a[j]< target; a[i] >target; 我們將二者互換;
  4. 繼續(xù)遍歷,由于步驟3已經(jīng)互換元素,此時(shí)的a[j] >target, a[i]< target;
    我們繼續(xù)遍歷,重復(fù)步驟2 ,3直到i, j相遇
  5. 相遇時(shí),i處之前的元素小于target,i處之后元素均大于target;a[i] 小于target;
  6. 我們將target 和a[i] 互換。i處之前的元素小于a[i],i處之后元素均大于a[i];
  7. 遞歸地處理左區(qū)間和右區(qū)間
public static void quickSort(int[] arr) {//        int[] arr = {3,1,4,7,2,9,8};
        doQuickSort(arr, 0, arr.length-1);
    }
    private static void doQuickSort(int[] arr, int left, int right) {if(left >= right) return;
        int base = arr[left];
        int i = left,j = right;
        while (i< j) {while (arr[j] >= base && i< j) {j--;
            }
            while (arr[i]<= base && i< j) i++;
            if(i< j) {int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }

        arr[left] = arr[i];
        arr[i] = base;
        doQuickSort(arr, left, i-1);
        doQuickSort(arr, i+1, right);
    }
歸并排序
public static void divideSort(int[] arr, int left, int right) {if(left >= right)
            return;
        //取中間索引
        int mid = (left + right)/2;
        //分別排序
        divideSort(arr,left,mid);
        divideSort(arr,mid+1,right);
        //合并結(jié)果
        merge(arr,left,mid,right);
    }
    public static void merge(int[] arr,int left,int mid,int right) {int[] temp = new int[right-left+1];//建立臨時(shí)數(shù)組
        int i = left;
        int j = mid + 1;//指向兩個(gè)數(shù)組的起始位置
        int k = 0;//指向臨時(shí)數(shù)組的起始位置
        while(i<= mid && j<= right) {if(arr[i] >= arr[j]) {//將更小的arr[j]放進(jìn)臨時(shí)數(shù)組中
                temp[k++] = arr[j++];
            }else {//將更小的arr[i]放進(jìn)臨時(shí)數(shù)組中
                temp[k++] = arr[i++];
            }
        }
        while(i<= mid) {//前一個(gè)數(shù)組還有剩余
            temp[k++] = arr[i++];
        }
        while(j<= right) {//前一個(gè)數(shù)組還有剩余
            temp[k++] = arr[j++];
        }
        //將臨時(shí)數(shù)組中的值更新到原始數(shù)組中
        for(int p = 0;p< temp.length;p ++) {arr[left+p] = temp[p];
        }
    }

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文標(biāo)題:排序算法java實(shí)現(xiàn)-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/pjpge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部