std::list::merge
Aus cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> void merge( list& other ); |
(1) | |
void merge( list&& other ); |
(1) | (seit C++11) |
template <class Compare> void merge( list& other, Compare comp ); |
(2) | |
template <class Compare> void merge( list&& other, Compare comp ); |
(2) | (seit C++11) |
Führt zwei sortierte Listen in einem. Die Listen sollten in aufsteigender Reihenfolge sortiert werden .
Original:
Merges two sorted lists into one. The lists should be sorted into ascending order.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Keine Elemente kopiert werden. Der Behälter
other leer nach der Operation. Die Funktion tut nichts, wenn this == &other. Wenn get_allocator() != other.get_allocator(), ist das Verhalten undefiniert. Keine Iteratoren oder Referenzen geworden ungültig, außer dass die Iteratoren der bewegten Elemente nun in *this beziehen, nicht in other. Die erste Version verwendet operator< um die Elemente zu vergleichen, verwendet die zweite Version des gegebenen Vergleichsfunktion comp .Original:
No elements are copied. The container
other becomes empty after the operation. The function does nothing if this == &other. If get_allocator() != other.get_allocator(), the behavior is undefined. No iterators or references become invalidated, except that the iterators of moved elements now refer into *this, not into other. The first version uses operator< to compare the elements, the second version uses the given comparison function comp.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parameter
| other | - | ein weiterer Behälter zu verschmelzen
Original: another container to merge The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| comp | - | comparison function which returns true if the first argument is less than the second. The signature of the comparison function should be equivalent to the following:
The signature does not need to have |
Rückgabewert
(None)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Beispiel
#include <iostream>
#include <list>
std::ostream& operator<<(std::ostream& ostr, const std::list<int>& list)
{
for (auto &i : list) {
ostr << " " << i;
}
return ostr;
}
int main()
{
std::list<int> list1 = { 5,9,0,1,3 };
std::list<int> list2 = { 8,7,2,6,4 };
list1.sort();
list2.sort();
std::cout << "list1: " << list1 << "\n";
std::cout << "list2: " << list2 << "\n";
list1.merge(list2);
std::cout << "merged: " << list1 << "\n";
}
Output:
list1: 0 1 3 5 9
list2: 2 4 6 7 8
merged: 0 1 2 3 4 5 6 7 8 9
Komplexität
höchstens
size() + other.size() - 1 Vergleiche .Original:
at most
size() + other.size() - 1 comparisons.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Siehe auch
Elemente aus einem anderen bewegt list Original: moves elements from another list The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) | |