Skip to content

Instantly share code, notes, and snippets.

@mehrdadrafiee
Created October 30, 2016 20:39
Show Gist options
  • Save mehrdadrafiee/49c5f855eb08b245614996596c79c731 to your computer and use it in GitHub Desktop.
Save mehrdadrafiee/49c5f855eb08b245614996596c79c731 to your computer and use it in GitHub Desktop.
bubble sort algorithm using Nodejs
#!/usr/bin/env node
"use strict";
var readline = require('readline');
var m = 0;
function swap(items, firstIndex, secondIndex) {
var temp = items[firstIndex];
items[firstIndex] = items[secondIndex];
items[secondIndex] = temp;
m++;
}
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
//get the input from user
rl.question('Enter a number: ', function (x) {
var disks = [];
for (var i = 0; i < x; i++) {
disks[2*i] = 1;
disks[2*i+1] = 0;
var randomDisks = disks;
}
console.log("Created an array of " + x*2 + " alternate disks: " + randomDisks);
var len = randomDisks.length,
i, j, stop;
for (var k=0; k < len; k++) {
for (var j=0, stop=len-k; j < stop; j++) {
if (randomDisks[j] > randomDisks[j+1]) {
swap(randomDisks, j, j+1);
sort(randomDisks);
}
}
rl.close();
}
console.log("List after sorting: " + randomDisks);
});
function sort(disks) {
console.log("m is " + m + ". Here is the list after the iteration > " + disks);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment