Narzędzia użytkownika

Narzędzia witryny


inplace_merge

To jest stara wersja strony!


Algorytm inplace_merge()

template <class BidirectionalIterator>''
inline void inplace_merge(BidirectionalIterator first,
                          BidirectionalIterator middle,
                          BidirectionalIterator last);
 
template <class BidirectionalIterator, class StrictWeakOrdering>
inline void inplace_merge(BidirectionalIterator first,
                          BidirectionalIterator middle,
                          BidirectionalIterator last, StrictWeakOrdering comp);

Algorytm zawarty w Standard Template Library. Funkcja inplace_merge() łączy dwa uporządkowane rosnąco zakresy [first, middle) oraz [middle, last) w jeden zakres [first, last) uporządkowany rosnąco. Algorytm jest stabilny. W pierwszej wersji funkcji do porównywania elementów używany jest operator< . W drugiej wersji możliwe jest dostarczenie własnego funktora testującego poprzedzanie elementów. Funkcja testująca pobiera 2 argumenty i zwraca wartość logiczną TRUE w przypadku, gdy pierwszy argument poprzedza drugi; jeśli zamienimy argumenty miejscami otrzymamy FALSE.

Nagłówek

#include <algorithm>

Definicja inplace_merge()

 

Parametry

  • first - iterator wskazujący początek pierwszego zakresu
  • middle - iterator wskazujący koniec pierwszego zakresu i jednocześnie początek drugiego zakresu
  • last - iterator wskazujący koniec drugiego zakresu
  • binary_pred - argument opcjonalny, wskaźnik na funkcję testującą poprzedzanie drugiego obiektu przez pierwszy

Przykłady

inplace_merge.1238772459.txt.gz · ostatnio zmienione: 2009/04/03 17:27 przez ornsh