[C++]リストの先頭からN個の要素を取得するには?

C++

どうも、ちょげ(@chogetarou)です。

リスト(List)の先頭からN個の要素を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)の先頭からN個の要素を取得するには、範囲コンストラクタを使います。

まず、「list<T> name(); 」のように、コンストラクタを呼び出します。

コンストラクタの第1引数に対象のVectorから呼び出したbegin()、第2引数にstd::next()を指定します。

std::next()の第1引数にVectorから呼び出したbegin()、第2引数にNを指定します。

//T=要素の型, myList=対象のリスト, N=取得する要素数
list<T> result(myList.begin(), next(myList.begin(), N)); 

上記の範囲コンストラクタは、対象のリストの先頭からN個の要素を取得します。

使用例

#include <iostream>
#include <list>
using namespace std;

int main(void){
    
    list<string> nums = { "one", "two", "three", "four", "five", "six", "seven"};
    
    int n = 3;
    auto first = nums.begin();
    auto end = next(nums.begin(), n);
    list<string> result(first, end); 
    
    for(string item: result) {
        cout << item << endl;
    }
    
    return 0;
}
出力:
one
two
three

コメント

タイトルとURLをコピーしました