1. 程式人生 > >js幾種排序演算法

js幾種排序演算法

開發十年,就只剩下這套架構體系了! >>>   

選擇排序

每次將最小的值迴圈放在前面,依次類推。

var arr = [34,19,11,109,3,56];
for(var x= 0;x<arr.length-1;x++){
   for(var y=x+1; y<arr.length;y++){
      if(arr[x]>arr[y]){
          var temp = arr[x];
          arr[x] = arr[y];
          arr[y] = temp;
      }
   }
}
console.log(arr)

氣泡排序

每次將最大的值迴圈放在最後,依次類推。

var arr = [34,19,11,109,3,56];
for(var x= 0;x<arr.length-1;x++){
    for(var y=0; y<arr.length-1-x;y++){
        if(arr[y]>arr[y+1]){
           var temp = arr[y];
           arr[y] = arr[y+1];
           arr[y+1] = temp;
        }
    }
}
console.log(arr)

相關推薦

js排序演算法

開發十年,就只剩下這套架構體系了! >>>   

排序演算法,記錄一下

個人也就會四種排序(bubble,select,insert,quick),哈哈,看官大人可能有點失望。自己也看過幾種,不過一直沒寫過其他的,就記錄下這四種吧。 程式碼均可直接通過編譯。各種版本實現都有出入,不過思想都是一樣。工作這麼久還沒有一次性完全寫正確過,功力還是差點。 #includ

【python資料結構與演算法排序演算法:氣泡排序、快速排序

以下排序演算法,預設的排序結果是從小到大。 一.氣泡排序: 1.氣泡排序思想:越大的元素,就像越大的氣泡。最大的氣泡才能夠浮到最高的位置。 具體來說,即,氣泡排序有兩層迴圈,外層迴圈控制每一輪排序中操作元素的個數——氣泡排序每一輪都會找到遍歷到的元素的最大值,並把它放在最後,下一輪排序時

總結排序演算法的Java實現

1、氣泡排序 氣泡排序是一種交換排序,它的基本思想是:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。 Java程式碼: import java.util.Random; public class BubbleSort { /** * 改進的氣

排序演算法

本文轉載自碼農網:http://www.codeceo.com/article/10-sort-algorithm-interview.html#0-tsina-1-10490-397232819ff9a47a7b7e80a40613cfe1 查詢和排

排序演算法的Python形式

直接見程式碼吧,因為比較簡單 依次為 冒泡 選擇 快排 插入 歸併 堆排 桶排  class Sort: def bubble(self, nums): for i

自我整理:排序演算法的理解

簡單來自己做個筆記,溫故一下排序方法。 1.直接排序 顧名思義,直接排,怎麼直接排,每次迴圈找出最下的扔到第一個,或者找到最大的扔到最後一個,剩下的數字,繼續迴圈找最小的往前扔,暴力排完。簡單粗暴,居家

11. 常見的有哪排序演算法,試比較其時間複雜度,以及是否穩定,及各自使用的情形

1、幾種常見排序演算法的時間複雜度 排序方法 平均情況 最好情況 最壞情況 直接插入排序 O(n2) O(n) O(n2) 起泡排序 O(n2) O(n) O(n2) 快速排序 O(nlog2n) O(nlog2n)

排序演算法java實現

沒有配圖,過幾天補上 package com.sort; public class Sort { /** * 插入排序 * 原理:往有序的子陣列選擇一個合適的位置插進去 * */ public void insertSort(int sort[

Java常見的排序演算法-插入、選擇、冒泡、快排、堆排等

本文就是介紹一些常見的排序演算法。排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的資料型別,來自定義排序演算法,但是,在這裡,我們只介紹這些基礎排序演算法,包括:插入排序、選擇排序、氣泡排序、快速排序(重點)、堆排序、歸併排序等等。看下圖: 給定陣

排序演算法實現以及穩定性

穩定性演算法:氣泡排序、插入排序、歸併排序、基數排序 不穩定性演算法:選擇排序、快速排序、堆排序、希爾排序、桶排序 /**  *   * @author huangsen  * 插入排序:一個有序陣列,一個無序陣列,將無序陣列插入到有序陣列中  *  */ public

常見的排序演算法-插入、選擇、冒泡、快排、堆排等

作者:egg 郵箱:[email protected] 本文就是介紹一些常見的排序演算法。排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的資料型別,來自定義排序演算法,但是,在這裡,我們只介紹這些基礎排序演算法,包括

常見排序演算法的C++描述

首先看一下幾種常見排序的特性 插入排序 void insertSort(vector<int> & arr) { int sz = arr.size();

Java之常見的排序演算法-插入、選擇、冒泡、快排、堆排等 .

本文就是介紹一些常見的排序演算法。排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的資料型別,來自定義排序演算法,但是,在這裡,我們只介紹這些基礎排序演算法,包括:插入排序、選擇排序、氣泡排序、快速排序(重點)、堆排序、歸併排序等等。看下圖: 給定陣

Java之常見的排序演算法-插入、選擇、冒泡、快排、堆排等

Java面試寶典系列之基礎排序演算法 作者:egg 郵箱:[email protected] 本文就是介紹一些常見的排序演算法。排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的資料型別,來自

Java 常見的排序演算法-插入、選擇、冒泡、快排、堆排等

本文就是介紹一些常見的排序演算法。排序是一個非常常見的應用場景,很多時候,我們需要根據自己需要排序的資料型別,來自定義排序演算法,但是,在這裡,我們只介紹這些基礎排序演算法,包括:插入排序、選擇排序、氣泡排序、快速排序(重點)、堆排序、歸併排序等等。看下圖:

常用排序演算法的時間複雜度和空間複雜度

 常用的排序演算法的時間複雜度和空間複雜度 排序法  最差時間分析 平均時間複雜度  穩定度  空間複雜度  氣泡排序 O(n2) O(n2)  穩定  O(

排序演算法介紹與效能分析

本文以對整形陣列升序排序為例,列舉了排序的幾種演算法及相應的Java實現,並在本文最後給出這幾種演算法的效能分析圖表。 1、插入排序  基本思路:在每次迴圈中把一個元素插入到已經排序的部分序列裡的合適位置,使得到的序列仍然是有序的。 實現: void sort(int a

排序演算法java版本

很早以前的程式碼了,今天發在這裡備份一下,也供有需要的朋友參考。1. 排序中的數值交換/** * 交換陣列中的兩個值的位置 * @param datas * @param ind1 * @param ind2 */ privat

常見的排序演算法(java和C++版)(參考《演算法》)

博主這裡要講的幾種排序演算法包括(從難到易):1.氣泡排序(最low的演算法) 2.插入排序 3.希爾排序 4.歸併排序 5.快速排序 6.快速排序的三項切分 氣泡排序: (1)簡介:這是最原始,最簡單的排序,幾乎不需要額外的空間 (2)基本原理:通過迴圈將最大的元素移到