Nodejs Array Swap swap(firstIndex, secondIndex)

Here you can find the source of swap(firstIndex, secondIndex)

Method Source Code

function bubbleSort(arr) {
  if (arr.length === 0 || arr.length === undefined) {
    return "No array as arg!"
  }//from w w w  .j  av  a2s .  c om

  if (arr.length === 1) {
    return arr;
  }

  var swapped = true;

  while (swapped) {
    swapped = false;
    for (let i = 0; i < arr.length; i++) {
      if (arr[i] > arr[i+1]) {
      //   let temp = arr[i];
      //   arr[i] = arr[i+1];
      //   arr[i+1] = temp;
        arr = arr.swap(arr[i],arr[i+1])// arr.swap(arr[i], arr[i+1])
        swapped = true;
      }
    }
  }

  return arr;

}

Array.prototype.swap = function(firstIndex, secondIndex) {
  let temp = firstIndex;
  this[firstIndex] = this[secondIndex];
  this[secondIndex] = this[temp];
}

console.log(bubbleSort([8,7,3,2,5,1]));

Related

  1. swap(a, b)
    function qsort(array, begin, end)
      if(end-1>begin) {
        var pivot= 0;
        pivot=partition(array, begin, end, pivot);
        qsort(array, begin, pivot);
        qsort(array, pivot+1, end);
    Array.prototype.swap=function(a, b)
      var tmp=this[a];
      this[a]=this[b];
      this[b]=tmp;
    function partition(array, begin, end, pivot)
      var piv=array[pivot].minPoint.z;
      array.swap(pivot, end-1);
      var store=begin;
      var ix;
      for(ix=begin; ix<end-1; ++ix) {
        if(array[ix].minPoint.z<=piv) {
          array.swap(store, ix);
          ++store;
      array.swap(end-1, store);
      return store;
    function quick_sort(array)
      qsort(array, 0, array.length);
    
  2. swap(a, b)
    Array.prototype.swap = function(a, b) {
        if (Object.prototype.toString.call(this) !== '[object Array]') {
            throw new TypeError("`this` must be Array, not " + typeof this);
        if (typeof a !== 'number') {
            throw new TypeError("argument[0] must be number, not " + typeof a);
        if (typeof b !== 'number') {
            throw new TypeError("argument[1] must be number, not " + typeof b);
    ...
    
  3. swap(a, b)
    Array.prototype.swap=function(a, b)
        console.log("calling swap");
        var tmp=this[a];
        this[a]=this[b];
        this[b]=tmp;
    
  4. swap(a, b)
    Array.prototype.swap=function(a, b)
      var tmp=this[a];
      this[a]=this[b];
      this[b]=tmp;
    function insert(array, begin, end, v)
      while(begin+1<end && array[begin+1]<v) {
    ...
    
  5. swap(a,b)
    Array.prototype.swap = function(a,b){
      var tmp = this[a];
      this[a] = this[b];
      this[b] = tmp;
    
  6. swap(i, j)
    Array.prototype.swap = function(i, j) {
      var a = this[i];
      this[i] = this[j];
      this[j] = a;
    
  7. swap(i, j)
    Array.prototype.swap = function(i, j){
      var temp = this[i]
      this[i] = this[j]
      this[j] = temp
    
  8. swap(i, j)
    Array.prototype.swap = function (i, j) {
        var k = this[i]; this[i] = this[j]; this[j] = k;
    function bubbleSort(list) {
        var items = list.slice(0), swapped = false, p, q;
        for (p = 1; p < items.length; ++p) {
            for (q = 0; q < items.length - p; ++q) {
                if (items[q + 1] < items[q]) {
                    items.swap(q, q + 1);
    ...
    
  9. swap(i, j)
    'use strict';
    Array.prototype.swap = function (i, j) {
      const temp = this[i];
      this[i] = this[j];
      this[j] = temp;
    function qsort (arr, lo=0, hi=arr.length - 1) {
      if (lo >= hi) return;
      arr.swap(lo, Math.floor(Math.random() * (hi - lo)) + lo);
    ...