使用 JavaScript 排序栈的元素


我们需要编写一个 JavaScript 函数,该函数接收一个整数数组。使用数组的递归和 push 和 pop 方法,该函数应就地对数组进行排序。

示例

此代码如下:

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);

输出

控制台中的输出为:

[ −5, −3, 14, 18, 30 ]

更新于:2020 年 11 月 23 日

239 次浏览

职业生涯起航

完成此课程并通过认证

开始
广告