C 使用递归插入和删除堆栈ADT的元素

C 使用递归插入和删除堆栈ADT的元素,c,recursion,stack,adt,C,Recursion,Stack,Adt,我想使用对堆栈ADT的递归编写两个函数: 在堆栈的第i个位置插入一个元素(使用递归) 移除堆栈第i个位置的元素(使用递归) 它们都需要两个只使用pop和/或push而不使用循环(while,for)。换句话说,堆栈将“模拟”数组的插入和移除操作 如果i==0(假设这意味着顶部),它就微不足道了。否则,唯一有意义的事情就是弹出最高值;一旦你完成了,你还需要做什么来完成你的任务 类似于(1)的推理 只有没有递归的伪代码。@Giovani堆栈的第i个位置应该是从上还是从下?意味着应该进行frm最后一个

我想使用对堆栈ADT的递归编写两个函数:

  • 在堆栈的第i个位置插入一个元素(使用递归)
  • 移除堆栈第i个位置的元素(使用递归)
  • 它们都需要两个只使用pop和/或push而不使用循环(while,for)。换句话说,堆栈将“模拟”数组的插入和移除操作

  • 如果i==0(假设这意味着顶部),它就微不足道了。否则,唯一有意义的事情就是弹出最高值;一旦你完成了,你还需要做什么来完成你的任务

  • 类似于(1)的推理


  • 只有没有递归的伪代码。@Giovani堆栈的第i个位置应该是从上还是从下?意味着应该进行frm最后一个元素计数,或者从堆栈的第一个元素开始计数???我们是否提前知道堆栈的大小,因为我觉得没有大小我们无法做到这一点!是的,尺寸是10号。很好,它是不完整的。问题似乎是家庭作业或其他类型的学习练习,如果我们在盘子上给OP完整的答案,我们会对他造成不良影响。祝你胜利!