栈和队列之用一个栈实现另一个栈的排序
【摘要】 用一个栈实现另一个栈的排序
题目:
一个栈元素的类型为整数,现在要想将该栈从顶到底按从大到小的顺序排列,只允许申请一个栈,除此之外,
可以申请一个变量,可以申请额外的变量,但是不能申请额外的数据结构,如何完成排序
思路:
我们需要排序的栈为stack,然后我们申请一个栈记为help,在stack上面执行pop()操作,弹出的元素记为cur
...
用一个栈实现另一个栈的排序
题目:
一个栈元素的类型为整数,现在要想将该栈从顶到底按从大到小的顺序排列,只允许申请一个栈,除此之外,
可以申请一个变量,可以申请额外的变量,但是不能申请额外的数据结构,如何完成排序
思路:
我们需要排序的栈为stack,然后我们申请一个栈记为help,在stack上面执行pop()操作,弹出的元素记为cur
如果cur小于或者等于栈顶元素,则将cur压入help,
如何cur大于help的栈顶元素,则将help的元素涿步弹出,涿一压入stack,直到cur小于或等于help的栈顶元素、再讲
cur压入help
如果cur小于或者等于栈顶元素,则将cur压入help,
如何cur大于help的栈顶元素,则将help的元素涿步弹出,涿一压入stack,直到cur小于或等于help的栈顶元素、再讲
cur压入help
代码:
-
import java.util.Stack;
-
-
/**
-
* 一个栈元素的类型为整数,现在要想将该栈从顶到底按从大到小的顺序排列,只允许申请一个栈,除此之外,
-
* 可以申请一个变量,可以申请额外的变量,但是不能申请额外的数据结构,如何完成排序
-
* @author Think
-
* 思路:我们需要排序的栈为stack,然后我们申请一个栈记为help,在stack上面执行pop()操作,弹出的元素记为cur
-
* 如果cur小于或者等于栈顶元素,则将cur压入help,
-
* 如何cur大于help的栈顶元素,则将help的元素涿步弹出,涿一压入stack,直到cur小于或等于help的栈顶元素、再讲
-
* cur压入help
-
*/
-
public class SortStackByStac
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/50160823
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)