首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團購書城模考論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計算機 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產(chǎn)評估師
高級經(jīng)濟師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內(nèi)審師
注冊稅務(wù)師
理財規(guī)劃師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀(jì)人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學(xué)習(xí)
思想?yún)R報
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂
您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員 > 正文

2015年軟件水平考試程序員精選題(12)

考試吧整理“2015年軟件水平考試程序員精選題(12)”供考生參考,更多軟件水平考試資訊和備考資料請關(guān)注考試吧軟件水平考試網(wǎng)。

  查看匯總:2015軟件水平考試程序員精選題匯總

  棧的push、pop序列

  題目:輸入兩個整數(shù)序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應(yīng)的pop順序。為了簡單起見,我們假設(shè)push序列的任意兩個整數(shù)都是不相等的。

  比如輸入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一個pop系列。因為可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,這樣得到的pop序列就是4、5、3、2、1。但序列4、3、5、1、2就不可能是push序列1、2、3、4、5的pop序列。

  分析:這到題除了考查對棧這一基本數(shù)據(jù)結(jié)構(gòu)的理解,還能考查我們的分析能力。

  這道題的一個很直觀的想法就是建立一個輔助棧,每次push的時候就把一個整數(shù)push進入這個輔助棧,同樣需要pop的時候就把該棧的棧頂整數(shù)pop出來。

  我們以前面的序列4、5、3、2、1為例。第一個希望被pop出來的數(shù)字是4,因此4需要先push到棧里面。由于push的順序已經(jīng)由push序列確定了,也就是在把4 push進棧之前,數(shù)字1,2,3都需要push到棧里面。此時棧里的包含4個數(shù)字,分別是1,2,3,4,其中4位于棧頂。把4 pop出棧后,剩下三個數(shù)字1,2,3。接下來希望被pop的是5,由于仍然不是棧頂數(shù)字,我們接著在push序列中4以后的數(shù)字中尋找。找到數(shù)字5后再一次push進棧,這個時候5就是位于棧頂,可以被pop出來。接下來希望被pop的三個數(shù)字是3,2,1。每次操作前都位于棧頂,直接pop即可。

  再來看序列4、3、5、1、2。pop數(shù)字4的情況和前面一樣。把4 pop出來之后,3位于棧頂,直接pop。接下來希望pop的數(shù)字是5,由于5不是棧頂數(shù)字,我們到push序列中沒有被push進棧的數(shù)字中去搜索該數(shù)字,幸運的時候能夠找到5,于是把5 push進入棧。此時pop 5之后,棧內(nèi)包含兩個數(shù)字1、2,其中2位于棧頂。這個時候希望pop的數(shù)字是1,由于不是棧頂數(shù)字,我們需要到push序列中還沒有被push進棧的數(shù)字中去搜索該數(shù)字。但此時push序列中所有數(shù)字都已被push進入棧,因此該序列不可能是一個pop序列。

  也就是說,如果我們希望pop的數(shù)字正好是棧頂數(shù)字,直接pop出棧即可;如果希望pop的數(shù)字目前不在棧頂,我們就到push序列中還沒有被push到棧里的數(shù)字中去搜索這個數(shù)字,并把在它之前的所有數(shù)字都push進棧。如果所有的數(shù)字都被push進棧仍然沒有找到這個數(shù)字,表明該序列不可能是一個pop序列。

  相關(guān)推薦:

  2015年軟考信息技術(shù)處理員考前知識點總結(jié)匯總

  2015年軟件水平考試《程序員》提高練習(xí)題匯總

  2015軟件水平考試《程序員》知識點總結(jié)匯總

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧軟件水平考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧