這幾天剛好學習了集合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...