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