C++
 Computer >> コンピューター >  >> プログラミング >> C++

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の特性を活かす際に、非常に便利な関数ですので、ぜひ活用してみてください。

  1. C++ STLのdeque::push_back()関数の使い方を徹底解説

    C++ STLにおけるdequeのpush_back()関数の機能と具体的な使い方について、構文やパラメータ、サンプルコードを交えながら詳しく解説します。 deque(デック)とは dequeは「Double Ended Queue(両端キュー)」の略称で、コンテナの両端から要素の追加・削除が可能なシーケンスコンテナです。 通常のキュー(queue)データ構造では、データの挿入は末尾からのみ、削除は先頭からのみ行えます。バス停の行列をイメージすると分かりやすいでしょう。行列に人は末尾からしか加わらず、先頭にいる人から順番に乗車していきます。一方、dequeではこの挿入と削除が両端のどちらからで

  2. C++ STLのdeque::resize()関数の使い方と動作を徹底解説

    この記事では、C++ STLにおけるdeque(デック)のresize()関数の機能と具体的な使い方について、サンプルコードと実行結果を交えながら詳しく解説します。deque(両端キュー)とはdequeは「Double Ended Queue(両端キュー)」の略で、シーケンスコンテナの一種です。先頭と末尾の両端から要素の追加・削除ができる点が最大の特徴です。通常のキュー(queue)データ構造では、データの挿入は末尾からのみ行い、削除は先頭からのみ行います。バス停の行列をイメージすると分かりやすいでしょう。新しい人は列の末尾に並び、先頭にいる人から順に乗車して列から外れていきます。一方、deq