Solution Review: Sort an Array
This review provides a detailed analysis of the solution to sort an array.
We'll cover the following...
Solution: Using Recursion
The following solution sorts the array recursively. This process is commonly known as the Bubble sort algorithm.
Press + to interact
function sort(testVariable, length) {// Base caseif (length <= 1) {return}// Recursive case// Call sort() again for first n - 1 elementssort(testVariable, length - 1)// Insert last element at its correct position in sorted arrayvar lastElement = testVariable[length - 1] // fetch the last elementvar temp = length - 2 // start finding its correct location from one element before it// Move elements of testVariable[0..i-1], that are greater than key, to one position ahead of their current positionwhile (temp >= 0 && testVariable[temp] > lastElement) {testVariable[temp + 1] = testVariable[temp]temp = temp - 1}testVariable[temp + 1] = lastElement // place the element in its correct position}// Driver CodetestVariable = [5, 4, 2, 3, 1]console.log("Original Array ---> " + testVariable)sort(testVariable, testVariable.length)console.log("Modified Array ---> " + testVariable)
Explanation
In the code snippet above, we reduce the length
variable of the input array testVariable
in each recursive call.
We follow the following ...