LoginSignup
3
1

目的

私はC++でアルゴリズムの修行を行っており、使用したSTLを備忘録の意味も込めて簡単にまとめることにしました。
そのため本記事は随時アップデート予定です。

もし、読者の方で「これも知ってると便利だよ」「その理解は間違ってるよ」などのコメントがありましたら、教えていただけると幸いです。(使用目的によると思いますが。)

はじめに

STLとは

STL(Standard Template Library)とはC++で用意されている標準ライブラリのこと。テンプレートクラスやテンプレート関数から構成されており、以下のようなものがある。

  • コンテナ(vectorなど)
  • イテレータ
  • アルゴリズム(sortなど)

STLの詳細に関してはChatGPTに聞いてみたので、【C++】ChatGPT3.5にSTL、イテレータ、コンテナについて聞いてみたを参照。

参考

STL

1. deque

double-ended-queueの略で「デック」と呼ぶ。vectorと同じ動的配列クラスで"先頭・末尾"への要素追加・削除もO(1)と高速に行える。先頭・末尾の両方へアクセス可能なので「両端キュー」とも呼ばれる。

AtCoder 365 C - Loong Trackingで出題。

dequeとvectorの違い

違いは先頭要素への操作が可能かどうかである。
vectorpush_back(), pop_backで配列の末尾に要素を追加・削除ができる。dequeは前述に加え、push_front(), pop_frontを使用して先頭への操作可能である。

参考

pair

2つの型の値をひとまとめにして扱うことができる。0番目の要素をfirst, 1番目の要素をsecondでアクセス可能。初期化も可能。

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1