1. 程式人生 > 其它 >泛型演算法:獲取序列中元素在另一序列中第一次出現位置演算法find_first_of()

泛型演算法:獲取序列中元素在另一序列中第一次出現位置演算法find_first_of()

技術標籤:c++標準庫中的演算法

    QStringList list1;
    list1<<"aa"<<"bb"<<"cc"<<"dd"<<"aa"<<"ab"<<"ac";
    QStringList list2;
    list2<<"bb"<<"aa"<<"ab";

    auto result = std::find_first_of(list1.begin(),list1.end(),list2.begin(),list2.end());
    if(result == list1.end())
        qDebug()<<"未匹配到元素";
    else
        qDebug()<<*result;

list2的元素中,“bb”、"aa"在list1中出現,按list1中元素的順序,“bb”和“aa”中“aa”先出現。find_first_of()函式返回list1中“aa”的位置。

find_first_of()的第二個版本,一個判斷相等的函式作為第5個引數,和之前的演算法一樣,不綴訴。