午夜无码人妻aⅴ大片色欲张津瑜,国产69久久久欧美黑人A片,色妺妺视频网,久久久久国产综合AV天堂

【數(shù)據(jù)結(jié)構(gòu)】兩個棧實現(xiàn)一個隊列【面試】-創(chuàng)新互聯(lián)

棧結(jié)構(gòu):先進后出,后進先出,只允許在棧尾操作。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設計、網(wǎng)站建設、外貿(mào)網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務龍馬潭,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

隊列:先進先出,在隊尾入隊,在隊頭出隊。

要想用兩個棧實現(xiàn)一個隊列,就需要使用一個相當于中間量的結(jié)構(gòu)進行隊列的入隊和出隊操作。

用圖形象化為:

【數(shù)據(jù)結(jié)構(gòu)】 兩個棧實現(xiàn)一個隊列【面試】

這樣問題就從圖中得出了思路:

入隊操作:把入隊元素一一存入一個棧結(jié)構(gòu)中即可。

出隊操作:出隊時,先判斷另一個棧結(jié)構(gòu)中是否有元素,若有先將元素出棧Pop();若為空,則把棧S1中的元素全部倒入Push()棧S2中,然后讓S2棧頂元素出棧Pop(),此時的元素序列和棧S1中剛好相反,即達到出隊效果。

那么,用代碼實現(xiàn)也變得簡單:

#include <iostream>
#include <stack>
using namespace std;

class Queue
{
public:
    void Push_Queue(int val)
    {
        s1.push(val);   // 實現(xiàn)了入隊尾入隊操作
        cout <<s1.top() << " ";
    }

    void Pop_Queue()
    {
        if (s2.empty())
        {
            while (s1.top())
            {
                s2.push(s1.top()--);
            }
             s2.pop();  // 實現(xiàn)了隊頭出隊操作
        }
        else
        {
            s2.pop();
        }
    }

    void Show()
    {
        cout << endl;
        // 因為使用的是系統(tǒng)庫stack,其pop函數(shù)返回值為void,所以不能打印出來,我們只打印pop后的隊頭元素進行驗證
        cout << s2.top() << endl; 
    }

private:
    stack<int> s1;
    stack<int> s2;

};

int main()
{
    Queue q;  // ??構(gòu)造函數(shù)的參數(shù)
    q.Push_Queue(1);
    q.Push_Queue(2);
    q.Push_Queue(3);
    q.Push_Queue(4);
    q.Push_Queue(5);

    q.Pop_Queue();

    q.Show(); // 打印pop后的對頭元素

    system("pause");
    return 0;
}

如有紕漏,歡迎指正。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。

分享名稱:【數(shù)據(jù)結(jié)構(gòu)】兩個棧實現(xiàn)一個隊列【面試】-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://www.ekvhdxd.cn/article18/dhhpgp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、外貿(mào)建站用戶體驗、企業(yè)網(wǎng)站制作自適應網(wǎng)站、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設