第一行输入一个N,表示栈中元素的个数第二行输入N个整数表示栈顶到栈底的各个元素
输出一行表示排序后的栈中栈顶到栈底的各个元素。
5 5 8 4 3 6
8 6 5 4 3
1 <= N <= 10000-1000000 <= <= 1000000
import sys # 处理输入 N = sys.stdin.readline().strip() stack = [int(i) for i in sys.stdin.readline().strip().split()] # 使用辅助栈,基于汉诺塔原理实现栈的排序 def sortStack(stack): helper = [] while stack: val = stack.pop() if not helper: helper.append(val) else: while helper and val > helper[-1]: stack.append(helper.pop()) helper.append(val) while helper: stack.append(helper.pop()) return stack stack = sortStack(stack) while stack: print(stack.pop(), end=' ')