C++ STLにおけるdeque front()関数とback()関数の使い方
本記事では、C++ STLにおけるdeque front()関数およびback()関数の機能について詳しく解説します。
Deque(両端キュー)とは
Deque(Double Ended Queue、両端キュー)とは、コンテナの両端で要素の挿入・削除が可能なシーケンスコンテナのことです。通常のキュー(待ち行列)データ構造では、データの挿入は末尾からのみ行い、削除は先頭からのみ行います。バス停の行列を例に考えてみましょう。人は行列の末尾にしか並ぶことができず、先頭にいる人から順に乗車していきます。一方、両端キューでは、データの挿入も削除も両端のどちらからでも行うことができます。
deque front()関数とは
front()関数は、dequeの先頭にある最初の要素を参照するために使用されます。
構文
dequename.front()
使用例
入力 Deque: 12 13 14 15 16
出力 12
入力 Deque: C A P T U R E
出力 C
実装の手順
- まず、dequeを宣言します
- 次に、dequeの内容を出力します
- その後、front()関数を使って先頭要素を取得します
上記の手順に従うことで、dequeの先頭要素を簡単に取得できます。
サンプルコード
// deque front()関数の動作を示すC++コード
#include <iostream>
#include <deque>
using namespace std;
int main() {
// dequeの初期化
deque<int> dq = { 5, 7, 6, 8, 9 };
// dequeの内容を出力
cout << "Deque: ";
for (auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
cout << endl;
// front()関数で先頭要素を表示
cout << "先頭要素: " << dq.front();
return 0;
}
出力結果
上記のコードを実行すると、以下のような出力が得られます。
入力 – Deque: 5 7 6 8 9 出力 – 5 入力 – Deque: L O N D O N 出力 – L
deque back()関数とは
back()関数は、front()関数とは対照的に、dequeの末尾にある最後の要素を参照するために使用されます。
構文
dequename.back()
使用例
入力 Deque: 12 13 14 15 16
出力 16
入力 Deque: C A P T U R E
出力 E
まとめ
front()関数とback()関数を使うことで、dequeの先頭要素と末尾要素をそれぞれO(1)の計算量で参照できます。両端でのデータ操作が可能なDequeの特性を活かす際に、非常に便利な関数ですので、ぜひ活用してみてください。
-
C++ STLのdeque::push_back()関数の使い方を徹底解説
C++ STLにおけるdequeのpush_back()関数の機能と具体的な使い方について、構文やパラメータ、サンプルコードを交えながら詳しく解説します。 deque(デック)とは dequeは「Double Ended Queue(両端キュー)」の略称で、コンテナの両端から要素の追加・削除が可能なシーケンスコンテナです。 通常のキュー(queue)データ構造では、データの挿入は末尾からのみ、削除は先頭からのみ行えます。バス停の行列をイメージすると分かりやすいでしょう。行列に人は末尾からしか加わらず、先頭にいる人から順番に乗車していきます。一方、dequeではこの挿入と削除が両端のどちらからで
-
C++ STLのdeque::resize()関数の使い方と動作を徹底解説
この記事では、C++ STLにおけるdeque(デック)のresize()関数の機能と具体的な使い方について、サンプルコードと実行結果を交えながら詳しく解説します。deque(両端キュー)とはdequeは「Double Ended Queue(両端キュー)」の略で、シーケンスコンテナの一種です。先頭と末尾の両端から要素の追加・削除ができる点が最大の特徴です。通常のキュー(queue)データ構造では、データの挿入は末尾からのみ行い、削除は先頭からのみ行います。バス停の行列をイメージすると分かりやすいでしょう。新しい人は列の末尾に並び、先頭にいる人から順に乗車して列から外れていきます。一方、deq