Skip to content

Instantly share code, notes, and snippets.

@sahyung
Created August 25, 2020 09:42
Show Gist options
  • Select an option

  • Save sahyung/e5f02e49ad13fd8283f39739c4e98536 to your computer and use it in GitHub Desktop.

Select an option

Save sahyung/e5f02e49ad13fd8283f39739c4e98536 to your computer and use it in GitHub Desktop.
About test for php developer https://gitlab.refactory.id/snippets/3 | challenge number 1
function mySwap(data, counter){
var tmpSorted = data;
for(i=0; i<data.length-1; i++){
if(data[i] > data[i+1]){
counter++;
var swaped = [data[i+1], data[i]];
var tmp = null;
tmp = data[i];
data[i] = data[i+1];
data[i+1] = tmp;
console.log(counter+'.', swaped, '->', data.join(' '))
}
}
return {data, counter};
}
function isSame(array1, array2){
return (array1.length == array2.length) && array1.every(function (element, index) {
return element === array2[index];
});
}
function countSwap(data){
var counter = 0;
var sorted = data.slice().sort();
var is_same = isSame(data, sorted);
while (!is_same){
var {data, counter} = mySwap(data, counter);
is_same = isSame(data, sorted);
}
return counter;
}
var data = [4,9,7,5,8,9,3];
console.log("Jumlah swap: ", countSwap(data));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment