przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
rotate_rotate_copy
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Algorytmy rotate rotate_copy ====== Algorytmy zamieniają segment zawierający elementy od pierwszego (first) do środkowego – 1 (middle – 1) z segmentem który zawiera elementy od środkowego (middle) do ostatniego (last). ===== Nagłówek ===== <code cpp> #include<algorithm> </code> ===== Deklaracje rotate rotate_copy ===== <code cpp> template <class ForwardIterator> void rotate (ForwardIterator first, ForwardIterator middle, ForwardIterator last); template <class ForwardIterator, class OutputIterator> OutputIterator rotate_copy (ForwardIterator first, ForwardIterator middle, ForwardIterator last, OutputIterator result); </code> ===== Parametry ===== Wspólne: * first – wskazuje na początek sekwencji wszystkich elementów * middle – wskazuje na element rozdzielający dwa segmenty poddane zamianie * last – wskazuje na koniec sekwencji wszystkich elementów rotate_copy: * result - wskazuje na kontener do którego zostanie zapisany wynik ===== Działanie ===== Rotate() zamienia segment zawierający elementy od first do middle – 1 z segmentem który zawiera elementy od middle do last. Po tym jak rotate() zostanie zastosowany element który znajdował się na pozycji middle znajduje się na pozycji first, a pozostałe elementy segmentu (middle , last) znajdują się na tych samych pozycjach względem siebie co wcześniej (np. element middle znajduje się na pozycji first, a element middle + 1 na pozycji first +1). Element który znajdował się na pozycji first teraz znajduje nie na pozycji last – (middle + 1). Podobnie jak w przypadku poprzedniego segmentu elementy zachowują swoją kolejność względem siebie. Przykład ilustrujący zastosowanie rotate(): 2 4 6 8 1 3 5 Jeśli użyjemy funkcji rotate() z argumentem middle = 5, otrzymamy dwa segmenty: 2 4 6 8 oraz 1 3 5 Po wykonaniu się funkcji otrzymamy sekwencje: 1 2 3 2 4 6 8 Element który znajdował się na piątej pozycji teraz znajduje się na pozycji pierwszej, a element który znajdował się na pozycji pierwszej teraz znajduje się na pozycji czwartej (last – (middle + 1), czyli 8 – 5 + 1 = 4).
rotate_rotate_copy.1240908968.txt.gz
· ostatnio zmienione: 2009/04/28 10:56 przez
tprzedpe
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry