91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++中stack、queue和vector的示例分析

發布時間:2021-08-25 14:07:04 來源:億速云 閱讀:200 作者:小新 欄目:編程語言

這篇文章主要介紹了c++中stack、queue和vector的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

stack 的基本操作有:

入棧,如例:s.push(x);

出棧,如例:s.pop();注意,出棧操作只是刪除棧頂元素,并不返回該元素。

訪問棧頂,如例:s.top()

判斷棧空,如例:s.empty() ,當棧空時,返回true。

訪問棧中的元素個數,如例:s.size()

queue 的基本操作有:

入隊,如例:q.push(x); 將x 接到隊列的末端。

出隊,如例:q.pop(); 彈出隊列的第一個元素,注意,并不會返回被彈出元素的值。

訪問隊首元素,如例:q.front() , 即最早被壓入隊列的元素。

訪問隊尾元素,如例:q.back() ,即最后被壓入隊列的元素。

判斷隊列空,如例:q.empty() ,當隊列空時,返回true。

訪問隊列中的元素個數,如例:q.size()

vector的基本操作有:

尾部插入數字:vec.push_back(a);

使用下標訪問元素,cout<<vec[0]<<endl;記住下標是從0開始的。

使用迭代器訪問元素.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;

插入元素: vec.insert(vec.begin()+i,a);在第i+1個元素前面插入a;

刪除元素: vec.erase(vec.begin()+2);刪除第3個元素

vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始

向量大小:vec.size();

清空:vec.clear();

注意:

使用reverse將元素翻轉:需要頭文件#include<algorithm>

reverse(vec.begin(),vec.end());將元素翻轉(在vector中,如果一個函數中需要兩個迭代器,一般后一個都不包含.)

使用sort排序:需要頭文件#include<algorithm>

sort(vec.begin(),vec.end()); (默認是按升序排列,即從小到大).

可以通過重寫排序比較函數按照降序比較,如下:

定義排序比較函數:

bool Comp(const int &a,const int &b)
{
return a>b;
}

調用時:sort(vec.begin(),vec.end(),Comp) ,這樣就降序排序。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“c++中stack、queue和vector的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九寨沟县| 军事| 奈曼旗| 高碑店市| 万州区| 万盛区| 清新县| 米脂县| 澄江县| 青神县| 南昌县| 确山县| 上犹县| 定襄县| 噶尔县| 阳江市| 肇东市| 瓮安县| 信丰县| 泸水县| 达尔| 鱼台县| 鲁山县| 蒙自县| 彰武县| 梨树县| 金湖县| 汶上县| 象州县| 天全县| 个旧市| 永善县| 萨迦县| 增城市| 绵阳市| 天门市| 宁远县| 南通市| 屏东县| 手机| 雷山县|