Chúng ta cần viết một hàm JavaScript nhận một mảng số nguyên. Sử dụng đệ quy và các phương thức push và pop của mảng, hàm sẽ sắp xếp mảng tại chỗ (in-place).
Ví dụ
Mã thực hiện:
const stack = [-3, 14, 18, -5, 30];
const sortStack = (stack = []) => {
if (stack.length > 0) {
let t = stack.pop();
sortStack(stack);
sortedInsert(stack, t);
}
}
const sortedInsert = (stack, e) => {
if (stack.length == 0 || e > stack[stack.length - 1]) {
stack.push(e);
} else {
let x = stack.pop();
sortedInsert(stack, e);
stack.push(x);
}
}
sortStack(stack);
console.log(stack);
Kết quả
Kết quả trong console:
[ -5, -3, 14, 18, 30 ]