[关闭]
@cxm-2016 2016-11-06T16:56:26.000000Z 字数 375 阅读 1967

算法:使用栈来排序一个栈

算法

版本:1
作者:陈小默
声明:禁止商用,禁止转载

发布于作业部落CSDN博客


题目

一个栈中的元素类型为整型,如何在只用一个栈的情况下对原始数据排序?

要求

使用任意语言实现,不能使用其他数据结构。

思路

使用一个栈来存放排序过的数据,和一个额外变量用来存储需要排序的数据。

实现

  1. fun sort(stack: Stack<Int>) {
  2. val help = Stack<Int>(stack.max)
  3. var value: Int? = null
  4. while (!stack.isEmpty) {
  5. value = stack.pop()
  6. while (!help.isEmpty && help.top < value)
  7. stack.push(help.pop())
  8. help.push(value)
  9. }
  10. while (!help.isEmpty)
  11. stack.push(help.pop())
  12. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注