Please use jsfiddle You will need to fork your JSFiddle for
Solution
HTML part code::::
<button onclick=\"fillrandomStrings()\">Repopulate the list with randome String algorithm</button>
<button onclick=\"quicksort()\">Sort list with QuickSort algorithm</button>
<span id=\"quicklist\"></span>
<button onclick=\"mergesort()\">Sort list with QuickSort algorithm</button>
<span id=\"mergelist\"></span>
<button onclick=\"insertnewlistbyuser()\">Insert new list byuser</button>
<span id=\"userlist\"></span>
Javascript Part:::
var numbers = [5, 15, 14, 1, -6, 26, -100, 0, 99];
fillrandomStrings(){
var arr = []
while(arr.length < 8){
var randomnumber = Math.ceil(Math.random()*100)
if(arr.indexOf(randomnumber) > -1) continue;
arr[arr.length] = randomnumber;
}
var newar=mergeSort(arr);
document.getElementbyId(\"usergivenlist\").html(newar);
}
function mergeSort (numbers) {
if (arr.length < 2) return numbers;
var mid = Math.floor(numbers.length /2);
var subLeft = mergeSort(numbers.slice(0,mid));
var subRight = mergeSort(numbers.slice(mid));
var aar= merge(subLeft, subRight);
document.getElementbyId(\"mergesortlist\").html(aar);
}
function merge (a,b) {
var result = [];
while (a.length >0 && b.length >0)
result.push(a[0] < b[0]? a.shift() : b.shift());
return result.concat(a.length? a : b);
}
function quicklist(){
var bar= quickSort();
document.getElementbyId(\"mergesortlist\").html(bar);
}
function quickSort() {
if (indexLow == undefined) indexLow = 0;
if (indexHigh == undefined) indexHigh = numbers.length - 1;
var i = indexLow;
var j = indexHigh;
var pivot = numbers[indexLow + Math.floor((indexHigh - indexLow) / 2)];
while (i <= j) {
while (numbers[i] < pivot) {
i++;
}
while (numbers[j] > pivot) {
j--;
}
if (i <= j) {
var swap = numbers[i];
numbers[i] = numbers[j];
numbers[j] = swap;
i++;
j--;
}
}
if (indexLow < j) {
quickSort(numbers, indexLow, j);
}
if (i < indexHigh) {
quickSort(numbers, i, indexHigh);
}
}

