実装するコードを書く pop_front C++でのvectorの操作。 The pop_front 操作は、vectorから最初の要素を削除し、残りの要素の順序を維持する必要があります。

私達はことを知っています std::vector サポートのみ push_backpop_back オペレーション。両方の操作は一定時間で実行されます。 The pop_front 操作は少なくともかかります O(n) vectorがアレイに裏打ちされており、順序を維持するために残りのすべての要素を1つ左にシフトする必要があるための時間。の総数の場合 pop_front 操作はもっと、 std::list コンテナを優先する必要があります。これは、両端Queue(deque)として実装されます。

 
そう pop_front 操作には線形時間がかかるため、vectorに含まれる要素が少ない場合にのみ呼び出す必要があります。これが実行可能な実装の1つです pop_front 関数。これは、vectorの最初の要素を使用して単純に消去します vector::erase 関数。 The vector::erase 関数では、vectorから削除する要素を指すイテレータが必要です。次を呼び出すことで、vectorの最初の要素へのイテレータを取得できます。 vector::begin.

ダウンロード  コードを実行する

出力:

2 3 4 5

 
幸いなことに、vector内の残りの要素の順序を維持する必要がない場合は、vectorの最後の要素を前面に移動することを含む定数時間のソリューションがあります。私たちはの助けを借りてこれを行うことができます std::move 関数。

ダウンロード  コードを実行する

出力:

5 2 3 4

以上がすべてです pop_front C++でのvectorの操作。