Here you can find the source of insertionSort()
'use strict';/* www.jav a 2s.co m*/ // ArraySorting const ArraySorting = {}; ArraySorting.insertionSort = a => { for(let o = 1; o < a.length; o++) { for(let i = o; i > 0 && a[i] < a[i-1]; i--) { [a[i], a[i-1]] = [a[i-1], a[i]] } // Invariant: a[:o] is sorted } } Array.prototype.insertionSort = function () { ArraySorting.insertionSort(this); } exports.ArraySorting = ArraySorting;
Array.prototype.insertSort = function(){ var len = this.length; var temp; for(var i = 1;i < len;i++){ temp = this[i]; if(this[i] < this[i-1]){ for(var j = i-1;j > 0&&temp<this[j];j--){ this[j+1] = this[j]; this[j+1] = temp; return this;
Array.prototype.insertationSort = function() { this.procedures=[] var compare = 0 var exchange = 0 var comparet = this.length * this.length / 4 var exchanget = comparet for (var i = 1; i < this.length; i++) { for (var j = i; j > 0; j--) { compare++ ...
Array.prototype.insertion = function(arr){ var returnArr = []; for(var i = 0; i < arr.length; i++){ if(i==0){ returnArr.push(arr[i]); }else{ if(arr[i]<returnArr[i-1]){ var j = i; while(j!=0&&arr[i]<returnArr[j]){ ...
Array.prototype.insertionSort = function () { var i, j; var temp; for (i = 1; i < this.length; i++) { temp = this[i]; for (j = i - 1; j >=0 && this[j] > temp; j--) { this[j + 1] = this[j]; this[j + 1] = temp; ...
Array.prototype.insertionSort = function() { for(var i = 1; i < this.length; i++) { var hole = i; while (hole > 0 && this[hole - 1] > this[i]) { hole--; this.splice(hole, 0, this[i]); this.splice(i + 1, 1); return this;
Array.prototype.insertionSort = function(){ if(this.length === 0) return "Array is empty!!"; else if(this.length ===1) return this; else{ for(var outerLoopIndex =1,arrLen = this.length; outerLoopIndex<arrLen;outerLoopIndex++) var temp = this[outerLoopIndex]; for(var innerLoopIndex = outerLoopIndex-1; innerLoopIndex >= 0 && this[innerLoopIndex] > temp ;innerLoopIndex--) this[innerLoopIndex+1] = this[innerLoopIndex]; this[innerLoopIndex+1] = temp; return this;
"use strict"; Array.prototype.insertionSort = function() { for (var key = 1; key < this.length; key++) { for (var swap_key = key; this[swap_key] < this[swap_key - 1]; swap_key--) { var temp = this[swap_key]; this[swap_key] = this[swap_key - 1]; this[swap_key - 1] = temp; }; var assert = function(expression, name) { if ( ! expression) { console.log('** Assertion failed', name || '') var a1 = [5,4,3,6,7,1,2,8,9]; a1.insertionSort(); console.log(a1); assert(a1.toString() === [1,2,3,4,5,6,7,8,9].toString(), 'Test it is sorted');
Array.prototype.insertionSort = function () { for (var i = 1; i < this.length; i++) { var j = i, value = this[i]; while(j > 0 && value < this[j-1]){ this[j] = this[j-1]; j--; this[j] = value; };
Array.prototype.insertionSort = function(desc) { let A = Object.assign([], this) for(let j = 1; j < A.length; j++) { let key = A[j] let i = j - 1 while(i >= 0 && (desc ? A[i] < key : A[i] > key)) { A[i + 1] = A[i] i = i - 1 A[i + 1] = key return A let arr = [3, 8, 1, 6, 5, 4, 9, 2, 7] let ascending = arr.insertionSort() let descending = arr.insertionSort(true) Array.prototype.selectionSort = function(desc) { let A = Object.assign([], this) for(let j = 0; j < A.length; j++) { let key = A[j] let m = j for(let i = j; i < A.length; i++) { m = (desc ? A[i] > A[m] : A[i] < A[m]) ? i : m A[j] = A[m] A[m] = key return A let arr = [3, 8, 1, 6, 5, 4, 9, 2, 7] let ascending = arr.selectionSort() let descending = arr.selectionSort(true)