STL典型使用總結 deque類模板

2021-08-28 09:35:01 字數 796 閱讀 5920

deque即雙端佇列,同樣採用模板類實現,支援在頭部/尾部插入和刪除元素:

deque.push_back(elem);		//在容器尾部新增乙個元素

deque.push_front(elem); //在容器頭部插入乙個元素

deque.pop_back(elem); //刪除容器最後乙個元素

deque.pop_front(); //刪除容器第乙個元素

示例:

#include #include #include void show_deque(std::deque& dq)

std::cout << std::endl;

}int main()

for (int i = 0; i < 5; ++i)

show_deque(dq1);

dq1.pop_back(); //刪除尾部元素

dq1.pop_front(); //刪除頭部元素

show_deque(dq1);

return 0;

}

stl實現了從迭代器獲取該元素的下標的方法distance(),需要包含algorithm標頭檔案:

std::deque::iterator it = find(dq1.begin(), dq1.end(), 11);

if (it != dq1.end())

else

STL典型使用 vector類模板

vector是將元素放在乙個動態陣列中加以管理的容器,vector可以隨機訪問元素 用操作符或at 直接訪問 也支援迭代器訪問元素 vector在尾部新增或移除元素十分高效,但是在中間或者頭部插入 移除元素會比較費時。vector採用類模板實現,從而實現了演算法和資料型別的分離,因此vector可以...

STL 容器deque的使用方法

double ended queue 雙端的 vector是單端的 deque在介面上和vector非常相似,在許多操作的地方可以直接替換 deque可以隨機訪問元素 支援索引值直接訪問,或at deque頭尾部新增移除元素非常快速,但是在中部新增移除元素比較費時 include deque物件的預...

STL使用總結

emm使用stl也有一段時間,但都是偶爾查查部落格一些零碎的用法,沒有系統的看過,沒有系統的學習過,看了晴神的演算法筆記決定寫一篇部落格總結一下,當然在以後的使用中遇見其他的用法也會記錄下來,迭代加遞迴學習吧,keep learning 標頭檔案 includeusing namespace std...