共用方式為


list::merge (STL/CLR)

合併兩個已排序的受控制序列。

    void merge(list<Value>% right);
    template<typename Pred2>
        void merge(list<Value>% right, Pred2 pred);

參數

  • pred
    對項目的比較子。

  • right
    合併的容器。

備註

第 10% 成員函式在受控制序列的所有項目順序由 right 並將它們插入。 必須由 operator< 之前訂購兩個序列。--,當您將序列,進度項目不能減少值。 產生的序列會由 operator<來排序。 您可以使用這個成員函式來合併兩個序列的加入至的順序加入。

第二 + 成成員函式一般作業的第一個相同,但是有一點例外,就是 pred 序列排序-- pred(X, Y) 必須為 false 為遵循序列中的所有 Y 項目的 X 。 您會用它來合併述詞函式排序兩個序列或委派所指定。

兩個函式執行穩定組合--中項目的原始順序顯示在結果序列中沒有反轉。 此外,如果有,會在產生的受控制序列的項目 X 與 Y 相同 Bucket 的項目-- !(X < Y) && !(X < Y) --從原始的受控制序列的項目上的一個項目之前出現順序由 right。

範例

// cliext_list_merge.cpp 
// compile with: /clr 
#include <cliext/list> 
 
typedef cliext::list<wchar_t> Mylist; 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'c'); 
    c1.push_back(L'e'); 
 
// display initial contents " a c e" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    cliext::list<wchar_t> c2; 
    c2.push_back(L'b'); 
    c2.push_back(L'd'); 
    c2.push_back(L'f'); 
 
// display initial contents " b d f" 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// merge and display 
    cliext::list<wchar_t> c3(c1); 
    c3.merge(c2); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c2.size() = {0}", c2.size()); 
 
// sort descending, merge descending, and redisplay 
    c1.sort(cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    c3.sort(cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    c3.merge(c1, cliext::greater<wchar_t>()); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c1.size() = {0}", c1.size()); 
    return (0); 
    } 
 
  

需求

標題: <cliext/清單>

命名空間: cliext

請參閱

參考

list (STL/CLR)

list::sort (STL/CLR)

list::splice (STL/CLR)