亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

各種sort總結(jié)

Cristalven / 1614人閱讀

摘要:各種總結(jié)如下小動(dòng)畫網(wǎng)站冒泡排序原理每次遍歷一遍數(shù)組,遇到循環(huán)遍歷直至順序正確代碼快速排序原理找到一個(gè)基準(zhǔn),每次都將比小的放到左邊,比大的放到右邊,然后對(duì)左邊右邊分別再進(jìn)行快速排序,直到分的子數(shù)組只有一個(gè)數(shù)字為止。

各種SORT總結(jié)如下:

小動(dòng)畫網(wǎng)站:http://jsdo.it/norahiko/oxIy/...

冒泡排序
原理:每次遍歷一遍數(shù)組,遇到num[i + 1] < num[i],swap; 循環(huán)遍歷直至順序正確
代碼:
public void bubbleSort(int[] nums){

    while(!sorted(nums)){
        //do nothing
    }
}

boolean sorted(int[] nums){
    boolean sorted = true;
    int j = 1;
    for(int i= 0;  i < nums.length - 1; i++){
        if(nums[j] < nums[i]){
            //swap
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
            sorted = false;
        }
        j++;
    }
    return sorted;
}

快速排序
原理:找到一個(gè)基準(zhǔn)(pivot),divide and conquer, 每次都將比pivot小的放到左邊,比pivot大的放到右邊,然后對(duì)左邊右邊分別再進(jìn)行快速排序,直到分的子數(shù)組只有一個(gè)數(shù)字為止。
(前一版代碼寫得太亂了不便理解,這里寫一個(gè)更廣為接受的)理解為“左邊右邊同時(shí)開始,遇到不符合順序的兩個(gè)就進(jìn)行交換”
int partition(int arr[], int left, int right)
{

  int i = left, j = right;
  int tmp;
  int pivot = arr[(left + right) / 2];
 
  while (i <= j) {
        while (arr[i] < pivot && i <= j)
              i++;
        while (arr[j] > pivot && i <= j)
              j--;
        if (i <= j) {
              tmp = arr[i];
              arr[i] = arr[j];
              arr[j] = tmp;
              i++;
              j--;
        }
  };
 
  return i;

}

void quickSort(int arr[], int left, int right) {

  int index = partition(arr, left, right);
  if (left < index - 1)
        quickSort(arr, left, index - 1);
  if (index < right)
        quickSort(arr, index, right);

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67065.html

相關(guān)文章

  • 各種排序算法總結(jié)

    摘要:排序算法是最基本最常用的算法,不同的排序算法在不同的場(chǎng)景或應(yīng)用中會(huì)有不同的表現(xiàn),我們需要對(duì)各種排序算法熟練才能將它們應(yīng)用到實(shí)際當(dāng)中,才能更好地發(fā)揮它們的優(yōu)勢(shì)。今天,來(lái)總結(jié)下各種排序算法。 排序算法是最基本最常用的算法,不同的排序算法在不同的場(chǎng)景或應(yīng)用中會(huì)有不同的表現(xiàn),我們需要對(duì)各種排序算法熟練才能將它們應(yīng)用到實(shí)際當(dāng)中,才能更好地發(fā)揮它們的優(yōu)勢(shì)。今天,來(lái)總結(jié)下各種排序算法。 下面這個(gè)表格...

    null1145 評(píng)論0 收藏0
  • Rxjs入門實(shí)踐-各種排序算法排序過(guò)程的可視化展示

    摘要:整個(gè)數(shù)據(jù)流序列 Rxjs入門實(shí)踐-各種排序算法排序過(guò)程的可視化展示 這幾天學(xué)習(xí)下《算法》的排序章節(jié),具體見對(duì)排序的總結(jié),想著做點(diǎn)東西,能將各種排序算法的排序過(guò)程使用Rxjs通過(guò)可視化的方式展示出來(lái),正好練系一下Rxjs的使用本文不會(huì)太多介紹Rxjs的基本概念,重點(diǎn)介紹如何用響應(yīng)式編程的思想來(lái)實(shí)現(xiàn)功能 在線演示地址 源碼 效果圖 showImg(https://segmentfault...

    piglei 評(píng)論0 收藏0
  • Rxjs入門實(shí)踐-各種排序算法排序過(guò)程的可視化展示

    摘要:整個(gè)數(shù)據(jù)流序列 Rxjs入門實(shí)踐-各種排序算法排序過(guò)程的可視化展示 這幾天學(xué)習(xí)下《算法》的排序章節(jié),具體見對(duì)排序的總結(jié),想著做點(diǎn)東西,能將各種排序算法的排序過(guò)程使用Rxjs通過(guò)可視化的方式展示出來(lái),正好練系一下Rxjs的使用本文不會(huì)太多介紹Rxjs的基本概念,重點(diǎn)介紹如何用響應(yīng)式編程的思想來(lái)實(shí)現(xiàn)功能 在線演示地址 源碼 效果圖 showImg(https://segmentfault...

    荊兆峰 評(píng)論0 收藏0
  • 思維導(dǎo)圖整理大廠面試高頻數(shù)組24: 合并兩個(gè)有序數(shù)組的兩種雙指針?biāo)枷? 力扣88

    摘要:此專欄文章是對(duì)力扣上算法題目各種方法的總結(jié)和歸納整理出最重要的思路和知識(shí)重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn)當(dāng)然也會(huì)加上我對(duì)導(dǎo)圖的詳解目的是為了更方便快捷的記憶和回憶算法重點(diǎn)不用每次都重復(fù)看題解畢竟算法不是做了一遍就能完全記住的所 ...

    darkerXi 評(píng)論0 收藏0
  • 細(xì)說(shuō)JS數(shù)組

    摘要:數(shù)組元素的讀寫使用訪問(wèn)數(shù)組元素時(shí),將索引轉(zhuǎn)換為字符串,然后將其作為屬性名一樣使用。第一個(gè)參數(shù)應(yīng)該在前只展開一層數(shù)組元素不變,返回注意,只拼接第一層結(jié)構(gòu)。 此乃犀牛書(第七章 數(shù)組)讀書筆記,又結(jié)合了ES6中數(shù)組的擴(kuò)展部分做的知識(shí)梳理。精華部分就是手工繪制的兩張數(shù)組總結(jié)圖了。靈活運(yùn)用數(shù)組的各種方法是基本功,是基本功,是基本功,重要的事情說(shuō)三遍。好了,正文從下面開始~ 數(shù)組的基本概念 什么...

    starsfun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<