Nodejs Array Bubble Sort bubbleSort(arr)

Here you can find the source of bubbleSort(arr)

Method Source Code

Array.prototype.bubbleSort = function(arr) {
  if(arr !== undefined) {
    this.array = arr.map(function(element){
      return element;
    });/*  ww w .ja va2 s .com*/
  } else {
    this.array = this.map(function(element){
      return element;
    });
  }

  function sort(array) {
    var passCount = 0;
    var swapCount = 0;
    var sorted = false;

    var prev = -Infinity;
    function isBiggerThanPrev(elem) {
      var result = (elem >= prev);
      prev = elem;
      return result;
    }

    while(!sorted) {

      for(var i = 0; i < (array.length - 1); i++){
        if(!isBiggerThanPrev(array[i + 1])) {
          swapCount++;
          array.splice(i, 0, array.splice((i + 1), 1)[0]);
        }
        prev = array[i];
      }
      passCount++;

      prev = -Infinity;
      if(array.every(isBiggerThanPrev)) {
        passCount++;
        sorted = true;
      }

    }

    return {
      passes: passCount,
      swaps: swapCount,
      sorted: array
    };
  }

  return sort(this.array);
};

module.exports = Array.prototype.bubbleSort;

Related

  1. bubbleSort()
    function bubbleSort (arr) {
      var swapped = true;
      var swapCount = 0;
      while (swapped === true) {
        swapped = false;
        for (var i = 0; i < arr.length-1; i++) {
          var curr = arr[i];
          var next = arr[i+1];
          if (curr > next) {
    ...
    
  2. bubbleSort()
    function bubbleSort(arr){
      var bubbledArr = arr;
      var isSwapped = false;
      var count = 0;
      while(!isSwapped) {
        isSwapped = false;
        var moves = 0;
        for(var i = 0; i < bubbledArr.length -1; i++){
          var curr = bubbledArr[i];
    ...
    
  3. bubbleSort()
    Array.prototype.bubbleSort = function (){
      let isSorted = false; 
      while(!isSorted){ 
        isSorted = true;
        for (var i = 0; i < this.length; i++){
          if (this[i] > this[i+1]){ 
            let earlierNum = this[i];
            this[i] = this[i + 1];
            this[i + 1] = earlierNum;
    ...
    
  4. bubbleSort()
    Array.prototype.bubbleSort = function(){
      var len = this.length;
      var exchange = false;
      var temp;
      for(var i = 1;i < len;i++){
        for(var j = 0;j < len - i;j++){
          if(this[j] > this[j+1]){
            temp = this[j];
            this[j] = this[j+1];
    ...
    
  5. bubbleSort()
    Array.prototype.bubbleSort = function () {
        for (var i = this.length-1; i > 0; i--) {
            for (var j = 0; j < i; j++) {
                if(this[j] > this[j+1]) {
                    this.swap(j, j+1);
    };
    ...
    
  6. bubbleSort_bubbleSorter;
    function _bubbleSorter(sortMe){
      if(!Array.isArray(sortMe)){
        throw new TypeError('Your sortMe needs to be an array');
      for(var j = 0; j < sortMe.length; j++){
        for(var i = 0; i < sortMe.length; i++){
          if(sortMe[i] > sortMe[i+1]){
            var tempNum = sortMe[i];
            sortMe[i] = sortMe[i+1];
    ...
    
  7. bubbleSort()
    'use strict';
    Array.prototype.bubbleSort = function bubbleSort() {
      let sorted = false;
      while(!sorted) {
        sorted = true;
        for (let i = 0; i < this.length - 1; i++) {
          if (this[i] > this[i+1]) {
            sorted = false;
            let temp = this[i+1];
    ...
    
  8. bubble_sort()
    Array.prototype.bubble_sort = function() {
      var sorted = false
      var passes = 0
      var n = 0
      while(!sorted) {
        sorted = true
        for(var i = 1; i < this.length; i++) {
          if(this[i] < this[i-1]) {
            this.swap(i, i-1)
    ...
    
  9. bubblesort()
    Array.prototype.bubblesort = function() {
      var done = false;
      while (! done) {
        done = true;
        for (var i = 1; i < this.length; i++) {
          if (this[i - 1] > this[i]) {
            done = false;
            var tmp = this[i - 1];
            this[i - 1] = this[i];
    ...