国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js常用的幾種排序方式

這篇具有很好參考價值的文章主要介紹了js常用的幾種排序方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在JavaScript中,有多種排序方式可供選擇。以下是幾種常見的排序方式以及對應(yīng)的示例:

  1. 冒泡排序(Bubble Sort): 冒泡排序是一種比較簡單的排序算法,它重復(fù)地比較相鄰的兩個元素并交換位置,直到整個數(shù)組排序完成。
    function bubbleSort(arr) {
      const len = arr.length;
      for (let i = 0; i < len - 1; i++) {
        for (let j = 0; j < len - 1 - i; j++) {
          if (arr[j] > arr[j + 1]) {
            // 交換位置
            [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
          }
        }
      }
      return arr;
    }
    
    const nums = [5, 3, 8, 4, 2];
    const sortedNums = bubbleSort(nums); // [2, 3, 4, 5, 8]
    
  2. 插入排序(Insertion Sort): 插入排序的思想是將數(shù)組分為已排序和未排序兩部分,每次從未排序部分取出一個元素插入到已排序部分的正確位置。
    function insertionSort(arr) {
      const len = arr.length;
      for (let i = 1; i < len; i++) {
        let current = arr[i];
        let j = i - 1;
        while (j >= 0 && arr[j] > current) {
          arr[j + 1] = arr[j];
          j--;
        }
        arr[j + 1] = current;
      }
      return arr;
    }
    
    const nums = [5, 3, 8, 4, 2];
    const sortedNums = insertionSort(nums); // [2, 3, 4, 5, 8]
    
  3. 選擇排序(Selection Sort): 選擇排序的思想是每次從未排序部分選擇最?。ɑ蜃畲螅┑脑?,放到已排序部分的末尾。
    function selectionSort(arr) {
      const len = arr.length;
      for (let i = 0; i < len - 1; i++) {
        let minIndex = i;
        for (let j = i + 1; j < len; j++) {
          if (arr[j] < arr[minIndex]) {
            minIndex = j;
          }
        }
        if (minIndex !== i) {
          [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; // 交換位置
        }
      }
      return arr;
    }
    
    const nums = [5, 3, 8, 4, 2];
    const sortedNums = selectionSort(nums); // [2, 3, 4, 5, 8]
    
  4. 快速排序(Quick Sort): 快速排序是一種常用的排序算法,它通過選擇一個基準元素,將數(shù)組劃分為左右兩個子數(shù)組,然后遞歸地對子數(shù)組進行排序。
    function quickSort(arr) {
      if (arr.length <= 1) {
        return arr;
      }
      const pivotIndex = Math.floor(arr.length / 2);
      const pivot = arr.splice(pivotIndex, 1)[0];
      const left = [];
      const right = [];
      for (let i = 0; i < arr.length; i++) {
        if (arr[i] < pivot) {
          left.push(arr[i]);
        } else {
          right.push(arr[i]);
        }
      }
      return quickSort(left).concat([pivot], quickSort(right));
    }
    
    const nums = [5, 3, 8, 4, 2];
    const sortedNums = quickSort(nums); // [2, 3, 4, 5, 8]
    

    這些是幾種常見的排序方式和對應(yīng)的示例。值得注意的是,在實際應(yīng)用中,可以根據(jù)排序需求和數(shù)據(jù)規(guī)模選擇合適的排序算法。另外,JavaScript還提供了內(nèi)置的排序函數(shù)Array.prototype.sort(),可以直接調(diào)用該函數(shù)對數(shù)組進行排序。文章來源地址http://www.zghlxwxcb.cn/news/detail-621957.html

到了這里,關(guān)于js常用的幾種排序方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Hive的幾種排序方式、區(qū)別,使用場景

    Hive 支持兩種主要的排序方式: ORDER BY 和 SORT BY 。除此之外,還有 DISTRIBUTE BY 和 CLUSTER BY 語句,它們也在排序和數(shù)據(jù)分布方面發(fā)揮作用。 1. ORDER BY ORDER BY 在 Hive 中用于對查詢結(jié)果進行全局排序,確保結(jié)果集是全局有序的。但是,使用 ORDER BY 時,Hive 會將所有數(shù)據(jù)集中到一個

    2024年02月02日
    瀏覽(24)
  • JavaScript 判斷是否為數(shù)字的幾種方式

    喜歡博主的文章,歡迎關(guān)注、點贊??、收藏??、留言??支持,謝謝大家 js判斷是否為數(shù)字的方式很多: typeof 、 instanceof 、 Number.isNumber parseInt 、 parseFloat isNaN 、 isFinite Number.isNaN 、 Number.isFinite 正則表達式 終極方案 我們逐一介紹,希望能幫到大家。 typeof 判斷值是不是基

    2023年04月10日
    瀏覽(34)
  • Java實現(xiàn)字符串排序的幾種方式

    創(chuàng)建實體類(此處引入了lombok) 一、使用List集合中自帶的sort方法(字符串的位數(shù)保持一致,不一致的情況可以在左邊補0,也可以使用String.format()方法補全) 1、在對象排序中使用 2、在字符串排序中使用 二、使用Stream流(字符串的位數(shù)保持一致,不一致的情況可以在左邊補

    2024年02月11日
    瀏覽(19)
  • Java List 按指定條件排序的幾種方式

    ??在 Java 項目中,可能會遇到給出一些條件,將 List 元素按照給定條件進行排序的情況。如下述場景。 一、排序場景 ??List 保存著一組亂序排列的字符串,Map 中保存著該組字符串各自的優(yōu)先級。優(yōu)先級數(shù)字從低到高表示優(yōu)先級依次遞減。要求將 List 中的字符串,按照優(yōu)

    2024年02月13日
    瀏覽(28)
  • JS常用的幾種事件

    JavaScript常用的幾種事件有: 點擊事件 :當用戶點擊某個元素時觸發(fā),常用于按鈕、鏈接等交互元素。事件名稱為\\\"click\\\"。 鼠標移動事件 :當用戶將鼠標指針移動到某個元素上時觸發(fā),事件名稱為\\\"mouseover\\\"。 鼠標離開事件 :當用戶將鼠標指針從某個元素上移開時觸發(fā),事件名

    2024年01月22日
    瀏覽(20)
  • js刪除數(shù)組的幾種方式

    注意: 此方法改變數(shù)組的長度! 提示: 移除數(shù)組末尾的元素可以使用 pop() 方法。 slice() 方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。 注意: slice() 方法不會改變原始數(shù)組。 注意:這種方法會改變原始數(shù)組。 返回值 如果刪除一個元素,則返回一個元素

    2024年02月16日
    瀏覽(26)
  • 【QT深入理解】QT中的幾種常用的排序函數(shù)

    排序函數(shù)是一種在編程中常用的函數(shù),它可以對一個序列(如數(shù)組,列表,向量等)中的元素進行排序,使其按照一定的順序排列。排序函數(shù)可以根據(jù)不同的排序算法,如冒泡排序,選擇排序,插入排序,快速排序,歸并排序,堆排序等,實現(xiàn)不同的排序效果。排序函數(shù)的作

    2024年02月03日
    瀏覽(19)
  • CSS中常用的幾種定位方式

    CSS中常用的幾種定位方式

    定位的基本語法: 有常用的幾種方式,如下: 首先,相對,就是相對某一位置,這里指的是 相對原來的位置 , 不脫離標準文檔流 。 那么標準文檔流是什么? 就是元素排版布局過程中,元素會默認自動從左往右,從上往下的流式排列方式。并最終窗體自上而下分成一行行

    2024年02月05日
    瀏覽(35)
  • 【java】對ArrayList中的元素進行排序的幾種方式

    【java】對ArrayList中的元素進行排序的幾種方式

    一、使用Collections工具類 1、對基本類型排序 通過 Collections.sort() 對基本類型排序默認是以升序排序 2、對字符串類型排序 對字符串類型排序默認按照首字母a-z排序 3、對對象排序 如何使用Collections對對象排序呢? 其實只需要讓我們的數(shù)據(jù)類型實現(xiàn)Comparable接口即可,下面定義

    2024年02月09日
    瀏覽(25)
  • Python進程間通信常用的幾種方式

    1. 隊列(Queue) 多個進程使用隊列進行數(shù)據(jù)交換。進程通過隊列發(fā)送和接收對象。 隊列是一個可以存儲任意類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),而且支持多線程操作,因此在Python的多進程編程中,可以利用隊列來實現(xiàn)進程間通信。 下面是一個簡單的利用隊列實現(xiàn)進程間通信的示例代碼: 在

    2024年03月26日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包