我正在做练习,这是文字: 该函数将队列Q,空堆栈S和整数k作为输入,并在S中插入Q的前k个元素,使得Q前面的元素位于S的顶部,Q的第k个元素例如,如果Q =< 6,8,7,15,20,9>,其中6是前面的元素,那么在调用insert(Q,S,4)之后我们有S =< 6,8,7,15>,其中6是顶部的元素。 我不能使用任何数据结构。 这是我的解决方案但不能正常工作,我按错误的顺序插入元素......
{{1}}
答案 0 :(得分:0)
显然这是一种考试,所以我无法直接给你答案。
我能做的是向您展示找到解决方案的方向。
尝试以不同的形式编写问题:
以这种形式编写它接缝递归算法。不是吗?
如果你可以使用递归,这个问题很简单。
只注意两点:
如果无法进行递归,则需要插入一个新的数据结构(列表?数组?另一个堆栈,在这种情况下,任何可能性都很好)以维护中间步骤。