在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

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

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

            來源:考試吧 2015-01-16 11:23:30 考試吧:中國教育培訓第一門戶 模擬考場
            考試吧整理“2015年軟件水平考試程序員精選題(8)”供考生參考,更多軟件水平考試資訊和備考資料請關注考試吧軟件水平考試網。

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

              用兩個棧實現(xiàn)隊列

              題目:某隊列的聲明如下:

              template class CQueue

              {

              public:

              CQueue() {}

              ~CQueue() {}

              void appendTail(const T& node); // append a element to tail

              void deleteHead(); // remove a element from head

              private:

              T>m_stack1;

              T>m_stack2;

              };

              分析:從上面的類的聲明中,我們發(fā)現(xiàn)在隊列中有兩個棧。因此這道題實質上是要求我們用兩個棧來實現(xiàn)一個隊列。相信大家對棧和隊列的基本性質都非常了解了:棧是一種后入先出的數(shù)據容器,因此對隊列進行的插入和刪除操作都是在棧頂上進行;隊列是一種先入先出的數(shù)據容器,我們總是把新元素插入到隊列的尾部,而從隊列的頭部刪除元素。

              我們通過一個具體的例子來分析往該隊列插入和刪除元素的過程。首先插入一個元素a,不妨把先它插入到m_stack1。這個時候m_stack1中的元素有{a},m_stack2為空。再插入兩個元素b和c,還是插入到m_stack1中,此時m_stack1中的元素有{a,b,c},m_stack2中仍然是空的。

              這個時候我們試著從隊列中刪除一個元素。按照隊列先入先出的規(guī)則,由于a比b、c先插入到隊列中,這次被刪除的元素應該是a。元素a存儲在m_stack1中,但并不在棧頂上,因此不能直接進行刪除。注意到m_stack2我們還一直沒有使用過,現(xiàn)在是讓m_stack2起作用的時候了。如果我們把m_stack1中的元素逐個pop出來并push進入m_stack2,元素在m_stack2中的順序正好和原來在m_stack1中的順序相反。因此經過兩次pop和push之后,m_stack1為空,而m_stack2中的元素是{c,b,a}。這個時候就可以pop出m_stack2的棧頂a了。pop之后的m_stack1為空,而m_stack2的元素為{c,b},其中b在棧頂。

              這個時候如果我們還想繼續(xù)刪除應該怎么辦呢?在剩下的兩個元素中b和c,b比c先進入隊列,因此b應該先刪除。而此時b恰好又在棧頂上,因此可以直接pop出去。這次pop之后,m_stack1中仍然為空,而m_stack2為{c}。

              從上面的分析我們可以總結出刪除一個元素的步驟:當m_stack2中不為空時,在m_stack2中的棧頂元素是最先進入隊列的元素,可以pop出去。如果m_stack2為空時,我們把m_stack1中的元素逐個pop出來并push進入m_stack2。由于先進入隊列的元素被壓到m_stack1的底端,經過pop和push之后就處于m_stack2的頂端了,又可以直接pop出去。

              接下來我們再插入一個元素d。我們是不是還可以把它push進m_stack1?這樣會不會有問題呢?我們說不會有問題。因為在刪除元素的時候,如果m_stack2中不為空,處于m_stack2中的棧頂元素是最先進入隊列的,可以直接pop;如果m_stack2為空,我們把m_stack1中的元素pop出來并push進入m_stack2。由于m_stack2中元素的順序和m_stack1相反,最先進入隊列的元素還是處于m_stack2的棧頂,仍然可以直接pop。不會出現(xiàn)任何矛盾。

              相關推薦:

              2015年軟考信息技術處理員考前知識點總結匯總

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

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

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