亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

岑巩县| 昔阳县| 江西省| 洛阳市| 汶上县| 成都市| 广饶县| 略阳县| 勃利县| 岫岩| 江源县| 玉溪市| 武隆县| 合阳县| 湟源县| 通江县| 中牟县| 宜兴市| 灵宝市| 北安市| 错那县| 蒙阴县| 阿拉善盟| 商城县| 昆山市| 宕昌县| 胶南市| 阿图什市| 隆昌县| 凤凰县| 洛宁县| 南岸区| 尉犁县| 湘西| 琼中| 布尔津县| 山阴县| 陵川县| 锦州市| 益阳市| 余江县|