Nodejs Utililty Methods Array Insertion Sort

List of utility methods to do Array Insertion Sort

Description

The list of methods to do Array Insertion Sort are organized into topic(s).

Method

insertionSort()
"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');
insertionSort()
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;
};
insertionSort(desc)
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) 
insertionSort (array)
Array.prototype.sort = function(){
  console.log("Please don't use the built in sort function.")
function insertionSort (array) {
  let current, i, j;
  for (i in array) {
    current = array[i];
    for (j=i-1; j>-1 && (array[j] > current); j--) {
      array[j+1] = array[j];
...
insertion_sort(array)
'use strict';
Array.prototype.swap = function swap (a, b) {
  const temp = this[a];
  this[a] = this[b];
  this[b] = temp;
};
function insertion_sort (arr) {
  for (let i = 0; i < arr.length; i++) {
    let j = i;
...