JavaScript實現插入排序演算法

2021-09-13 01:51:30 字數 871 閱讀 2030

插入排序是先將陣列中的一部分數進行排序,再將陣列中的還未排序的數與已排序的數逐一進行比較,每一次比較都判斷二者的大小關係,大的數右移,為小的數騰出位置,直到遇到比這個數小的數為止,該數即「插入」到此處左移,接著將下乙個未排序的數與左邊已排好序的數逐一比較,重複這一過程。

1、建立乙個待排序的陣列

var arr =[6

,3,5

,2,7

,1];

2、建立中間變數

var tem,inner;

//分別為值和索引的中間變數

3、雙重for迴圈

for

(var outer =

1;outer <= arr.length-

1;outer++

) console.

log(arr)

;}

首先看下此時的效果:

發現排序已成功。

現在對雙重for迴圈的**進行解釋:

(1)外層迴圈將遍歷陣列,每次迴圈決定要「插入」的數。

(2)內層迴圈從第二個元素(第乙個進行排序的元素)開始,每次與前乙個數進行比較,決定是否左移。

完整**及注釋如下:

這樣我們就用js實現了插入排序演算法。

javascript實現插入排序

插入排序是將陣列分成兩部分,一部分是排好序的,另一部分是待排序的,依次將待排序的元素取出來與排好序的部分一一對比,直到找到適合該元素的位置並新增進去。一般預設陣列左側第乙個元素是排好序的,然後從第二元素開始遍歷,分別左側排好序的部分對比進行插入。實現 function insertsort arr ...

Javascript實現對Json陣列排序

一 適用於數字排序和字元排序 最簡單的一種 var sortby function filed,rev,primer if a b if a b return 1 var obj 數字排序 obj.sort sortby b false,parseint console.log obj 字元排序 o...

插入排序的JavaScript實現

插入排序就好比抓牌,將拿到的牌插入到手上已經排好順序的牌中的合適位置。排序過程如下 1 取陣列第乙個元素作為已排序元素 2 取下乙個元素與已排序元素從後往前比較 3 當該元素大於比較元素,將比較元素往後移動一位。4 直到出現小於或者等於該元素的位置,在其後面插入。js 實現 var insertso...