c++runtime error单调栈
生活随笔
收集整理的這篇文章主要介紹了
c++runtime error单调栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里的原因是堆棧溢出,出現棧空并且pop()的操作,危險
下面這是錯誤的
while(s.top()<a){s.pop(); }正確寫法
while(s.top()<a){s.pop();if(s.empty()) break; }不知道為什么如下寫法也會runtime error
while(s.top()<a&&s.size()!=0){s.pop();// if(s.empty()) break; }51Nod- 2160 數字游戲
鏈接點擊
現在有n個數字依次進入一個棧,每個數字a進入棧的時候,如果棧頂元素小于a,則會將棧頂元素彈出,新的棧頂元素如果仍然小于a,則會將新的棧頂元素繼續彈出,直到棧頂元素大于等于a為止,a才會加入棧。問n個數字依次進入后,最后棧里的數字依次是?
Input
輸入第一行一個整數n(n<=100000),表示有n個數字依次進入棧。 接下來n行,每行一個整數,表示第i個數字。
Output
若干行,表示最后棧中的數字。
Sample Input
5
5
3
2
4
1
Sample Output
5
4
1
分析
用棧存,輸出是用vector過度一下。
因為這次是從棧底開始輸出。
AC代碼
總結
以上是生活随笔為你收集整理的c++runtime error单调栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单题C++
- 下一篇: 半圆形吊顶怎么分灯孔?