有關集合佇列和棧的轉換

2021-06-29 12:42:25 字數 1451 閱讀 2676

這幾天剛好學習了集合collection等子介面,下面是有關的乙個面試題解決方案:

[cpp]view plain

copy

#include 

#include 

#include 

using

namespace

std;    

/*兩個佇列模擬乙個堆疊*/

/*佇列a、b 

入棧:將元素依次壓入到非空的佇列,第乙個元素壓倒對列a 

出棧:把佇列a的前n-1個元素倒到佇列b,把第n個元素去掉。此時資料在b中,下次操作,則對b操作。 

棧頂:把佇列a的前n-1個元素倒到佇列b,把第n個元素作為棧頂*/

template

<

typename

t>    

class

mystack    

private

:    

queueq1;    

queueq2;    

};    

template

<

typename

t> 

void

mystack::push(

const

t &element)  

else

if(!q1.empty() && q2.empty())    

else

if(q1.empty() && !q2.empty())    

}    

template

<

typename

t>

void

mystack::pop()  

q1.pop();    

}    

else

q2.pop();    

}    

}   

template

<

typename

t>t mystack::top()  

t temp = q1.front();    

q1.pop();    

q2.push(temp);    

return

temp;    

}    

else

t temp = q2.front();    

q2.pop();    

q1.push(temp);    

return

temp;    

}    

}     

intmain(

intargc, 

char

*argv)    

while

(!my.empty())    

cout0;  

}    

更多的體現在解決問題的思想上!

棧和佇列的有關操作

1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 出隊操作。4 採用順序儲存實現迴圈佇列的初始化 入隊 出隊操作。5 在主函式中設計乙個簡...

棧和佇列的有關操作

實驗內容 1 用順序儲存定義棧結構。寫出這種儲存方式下的演算法實現,包括 初始化棧 判棧為空 出棧 入棧 求棧頂元素 等運算,自己填寫主函式。2 利用順序棧的基本操作 設計演算法,實現將任意乙個十進位制整數轉化為r進製整數 3 用順序儲存來定義迴圈佇列結構。程式設計實現,初始化佇列 判佇列 為空 出...

棧和佇列的有關操作

實驗名稱 棧和佇列的有關操作 實驗室名稱 實驗台號 14 學生姓名 專業班級 2015 指導教師 實驗日期 2017 6 9 一 實驗目的1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。二 實驗儀器及環境 pc計算機 windows xp作業系統 visual c 6.0...