国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

各種sort總結

Cristalven / 1566人閱讀

摘要:各種總結如下小動畫網站冒泡排序原理每次遍歷一遍數組,遇到循環遍歷直至順序正確代碼快速排序原理找到一個基準,每次都將比小的放到左邊,比大的放到右邊,然后對左邊右邊分別再進行快速排序,直到分的子數組只有一個數字為止。

各種SORT總結如下:

小動畫網站:http://jsdo.it/norahiko/oxIy/...

冒泡排序
原理:每次遍歷一遍數組,遇到num[i + 1] < num[i],swap; 循環遍歷直至順序正確
代碼:
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;
}

快速排序
原理:找到一個基準(pivot),divide and conquer, 每次都將比pivot小的放到左邊,比pivot大的放到右邊,然后對左邊右邊分別再進行快速排序,直到分的子數組只有一個數字為止。
(前一版代碼寫得太亂了不便理解,這里寫一個更廣為接受的)理解為“左邊右邊同時開始,遇到不符合順序的兩個就進行交換”
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);

}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67065.html

相關文章

  • 各種排序算法總結

    摘要:排序算法是最基本最常用的算法,不同的排序算法在不同的場景或應用中會有不同的表現,我們需要對各種排序算法熟練才能將它們應用到實際當中,才能更好地發揮它們的優勢。今天,來總結下各種排序算法。 排序算法是最基本最常用的算法,不同的排序算法在不同的場景或應用中會有不同的表現,我們需要對各種排序算法熟練才能將它們應用到實際當中,才能更好地發揮它們的優勢。今天,來總結下各種排序算法。 下面這個表格...

    null1145 評論0 收藏0
  • Rxjs入門實踐-各種排序算法排序過程的可視化展示

    摘要:整個數據流序列 Rxjs入門實踐-各種排序算法排序過程的可視化展示 這幾天學習下《算法》的排序章節,具體見對排序的總結,想著做點東西,能將各種排序算法的排序過程使用Rxjs通過可視化的方式展示出來,正好練系一下Rxjs的使用本文不會太多介紹Rxjs的基本概念,重點介紹如何用響應式編程的思想來實現功能 在線演示地址 源碼 效果圖 showImg(https://segmentfault...

    piglei 評論0 收藏0
  • Rxjs入門實踐-各種排序算法排序過程的可視化展示

    摘要:整個數據流序列 Rxjs入門實踐-各種排序算法排序過程的可視化展示 這幾天學習下《算法》的排序章節,具體見對排序的總結,想著做點東西,能將各種排序算法的排序過程使用Rxjs通過可視化的方式展示出來,正好練系一下Rxjs的使用本文不會太多介紹Rxjs的基本概念,重點介紹如何用響應式編程的思想來實現功能 在線演示地址 源碼 效果圖 showImg(https://segmentfault...

    荊兆峰 評論0 收藏0
  • 思維導圖整理大廠面試高頻數組24: 合并兩個有序數組的兩種雙指針思想, 力扣88

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

    darkerXi 評論0 收藏0
  • 細說JS數組

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

    starsfun 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<