栈和队列之用一个栈实现另一个栈的排序
生活随笔
收集整理的這篇文章主要介紹了
栈和队列之用一个栈实现另一个栈的排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用一個棧實現另一個棧的排序
題目:
一個棧元素的類型為整數,現在要想將該棧從頂到底按從大到小的順序排列,只允許申請一個棧,除此之外,
可以申請一個變量,可以申請額外的變量,但是不能申請額外的數據結構,如何完成排序
思路:
我們需要排序的棧為stack,然后我們申請一個棧記為help,在stack上面執行pop()操作,彈出的元素記為cur如果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 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的栈和队列之用一个栈实现另一个栈的排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之安全退出应用程序的几种方
- 下一篇: Android之发送短信后按钮(60秒)