首页 > 试题广场 >

用一个栈实现另一个栈的排序

[编程题]用一个栈实现另一个栈的排序
  • 热度指数:6296 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?

输入描述:
第一行输入一个N,表示栈中元素的个数
第二行输入N个整数a_i表示栈顶到栈底的各个元素


输出描述:
输出一行表示排序后的栈中栈顶到栈底的各个元素。
示例1

输入

5
5 8 4 3 6

输出

8 6 5 4 3

备注:
1 <= N <= 10000
-1000000 <= a_n <= 1000000

这道题你会答吗?花几分钟告诉大家答案吧!