一道我不会做的题目

hhhrrrsss 2006-03-28 10:48:50
编写一个函数SelectIten(stack &s,int n),要求利用堆栈来查找n在栈中第一次出现的位置,并将该位置元素移至栈顶,同时其他元素次序不变(注意:用int匹配堆栈的模板)
...全文
254 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhshgao 2006-03-31
  • 打赏
  • 举报
回复
postren(小虫)的办法好`~~~~
yinqing_yx 2006-03-30
  • 打赏
  • 举报
回复
必须要将其上面的都拿出来再放进去~~~~~`
jixingzhong 2006-03-30
  • 打赏
  • 举报
回复
用栈缓存好了 ...

pop 出来 push 进缓存栈 ..
倒序了 ...
然后再 pop 并 push 进原来的栈
(每个元素比较下 n, 如果相同就丢弃,最后的时候把 n push进去就是)
jinjiajie 2006-03-29
  • 打赏
  • 举报
回复
你那个堆栈是用什么实现的?普通链表的话,遍历一遍,寻找,找到后保存然后删除该节点,然后在栈顶插入节点就行了
jfstar 2006-03-29
  • 打赏
  • 举报
回复
zhege 方法不错
postren 2006-03-29
  • 打赏
  • 举报
回复
栈是没有遍历操作的
假设现有的栈为s1
新建一个栈s2
把s1中的元素依次的出栈,并入栈s2,直至s1的栈顶元素为n,并把n出栈,保存到一个变量中

然后在s2依次出栈,s1入栈,直至s2为空,并把n入栈s1,即可

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧