Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp các phần tử của ngăn xếp (stack) bằng JavaScript


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 ]