两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1. 再談隊(duì)列

回顧一下之前所學(xué)的隊(duì)列,隊(duì)列和棧不同,隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),STL的隊(duì)列內(nèi)容極其重要,雖然內(nèi)容較少但是請(qǐng)務(wù)必掌握,STL的隊(duì)列是快速構(gòu)建搜索算法以及相關(guān)的數(shù)論圖論的狀態(tài)存儲(chǔ)的基礎(chǔ)。

2.相關(guān)頭文件

頭文件:#include<queue>

3.初始化

格式為:

explicit queue (const container_type& ctnr = container_type());

我們以int類型作為參數(shù)為例進(jìn)行創(chuàng)建。

queue<int> q;    //創(chuàng)建一個(gè)空的沒(méi)有數(shù)據(jù)的隊(duì)列q
queue<int> qoo(q);    //創(chuàng)建一個(gè)隊(duì)列其元素為q的全部?jī)?nèi)容

標(biāo)準(zhǔn)的隊(duì)列創(chuàng)建方法是直接創(chuàng)建空隊(duì)列再進(jìn)行其他的操作,由于隊(duì)列的特殊性質(zhì),擁有其他容器的參數(shù)可以這樣創(chuàng)建,這種多參數(shù)的方式可能有一些復(fù)雜,一般也很少這樣使用。

vector<int> v(3,100);           
    queue<int,vector<int> > s(v);  //注意,> >符號(hào)之間需要有一個(gè)空格隔開(kāi)

通過(guò)標(biāo)準(zhǔn)的方式創(chuàng)建向量數(shù)組,然后通過(guò)復(fù)制構(gòu)造函數(shù)的方式進(jìn)行創(chuàng)建,其內(nèi)容就是vector數(shù)組的全部?jī)?nèi)容。

4. 迭代器

棧和隊(duì)列都屬于一種特殊的數(shù)據(jù)結(jié)構(gòu),只能通過(guò)訪問(wèn)頂層數(shù)據(jù)并不斷剔除數(shù)據(jù)的方法進(jìn)行全部訪問(wèn),因此沒(méi)有直接的迭代器。

5. 常用接口

我們預(yù)先通過(guò)queue<int> q創(chuàng)建了一個(gè)隊(duì)列,命名為q,方便舉例。

a)大小size()

返回隊(duì)列元素的個(gè)數(shù)

函數(shù)原型:size_type size() const;

cout<<q.size()<<endl;   //直接返回隊(duì)列元素的個(gè)數(shù)

b) 入隊(duì)push()

進(jìn)行入隊(duì)操作,在隊(duì)尾處進(jìn)行插入

函數(shù)原型:void push (const value_type& val);

q.push(100);

c) 出隊(duì)pop()

進(jìn)行出隊(duì)操作,在對(duì)頭出進(jìn)行彈出

函數(shù)原型:void pop();

q.pop();

d)訪問(wèn)隊(duì)頭元素front()

訪問(wèn)對(duì)頭元素,可以返回其數(shù)值,也可以進(jìn)行相應(yīng)的操作,這里更加建議多使用front()訪問(wèn)隊(duì)頭數(shù)據(jù),因?yàn)槲覀冞M(jìn)行出隊(duì)操作均是從隊(duì)頭進(jìn)行出隊(duì)的。

函數(shù)原型:

value_type& front();

const value_type& front() const;

q.front()+=500;     //對(duì)隊(duì)頭元素進(jìn)行修改
    cout<<q.front()<<endl;   //直接輸出內(nèi)容

e) 訪問(wèn)隊(duì)尾元素back()

訪問(wèn)隊(duì)尾元素,較為少用。

函數(shù)原型:

value_type& back();

const value_type& back() const;

q.back()+=500;     //對(duì)隊(duì)尾元素進(jìn)行修改
    cout<<q.back()<<endl;

f) 判空empty()

返回一個(gè)bool類型的值,只存在真和假,當(dāng)隊(duì)列為空時(shí)為真,不為空時(shí)為假

函數(shù)原型

bool empty() const;

可以利用empty()進(jìn)行隊(duì)列的遍歷操作,這里建議先使用初始化函數(shù)將隊(duì)列進(jìn)行復(fù)制,否則遍歷之后隊(duì)列就為空了。

 while(q.empty()){
        cout<<q.front()<<endl;
        q.pop();
    }

6. 相關(guān)配套習(xí)題

我們可以回顧隊(duì)列的相關(guān)題目再度進(jìn)行聯(lián)系,熟悉STL 的簡(jiǎn)化方法,為搜索算法的學(xué)習(xí)做預(yù)備。

[第四章—隊(duì)列的內(nèi)容]

試著使用STL完成隊(duì)列基本操作

作業(yè):1898題

點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程

只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)