cpp/algorithm/reverse copy: Unterschied zwischen den Versionen
Aus cppreference.com
Translated from the English version using Google Translate |
P12 (Diskussion | Beiträge) K 1 Version: Translate from the English version |
(kein Unterschied)
| |
Version vom 25. Oktober 2012, 16:40 Uhr
| Defined in header <algorithm>
|
||
template< class BidirIt, class OutputIt > OutputIt reverse_copy( BidirIt first, BidirIt last, OutputIt d_first ); |
||
Kopiert die Elemente aus dem Bereich
[first, last), in einen anderen Bereich beginnend bei d_first in einer solchen Weise, dass die Elemente in der neuen Reihe sind in .. umgekehrter Reihenfolge . Original:
Copies the elements from the range
[first, last), to another range beginning at d_first in such a way, that the elements in the new range are in reverse 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.
Parameter
| first, last | - | der Bereich der zu kopierenden Elemente
Original: the range of elements to copy The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| d_first | - | der Beginn des Zielbereichs
Original: the beginning of the destination range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| Type requirements | ||
-BidirIt must meet the requirements of BidirectionalIterator.
| ||
-OutputIt must meet the requirements of OutputIterator.
| ||
Rückgabewert
Output Iterator auf das Element nach dem letzten Element kopiert .
Original:
Output iterator to the element past the last element copied.
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.
Mögliche Implementierung
template<class BidirIt, class OutputIt>
OutputIt reverse_copy(BidirIt first, BidirIt last, OutputIt d_first)
{
while (first != last) {
*(d_first++) = *(--last);
}
return d_first;
}
|
Beispiel
#include <vector>
#include <iostream>
#include <algorithm>
int main()
{
std::vector<int> v({1,2,3});
std::for_each(std::begin(v), std::end(v),
[&](int value){ std::cout << value << " "; });
std::cout << std::endl;
std::vector<int> destiny(3);
std::reverse_copy(std::begin(v), std::end(v), std::begin(destiny));
std::for_each(std::begin(destiny), std::end(destiny),
[&](int value){ std::cout << value << " "; });
std::cout << std::endl;
}
Output:
1 2 3
3 2 1
Komplexität
linear im Abstand
first und lastOriginal:
linear in the distance between
first and lastThe 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.