Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
mismatch [2009/03/28 15:17] mkrotewicz |
mismatch [2009/04/28 12:56] mkrotewicz |
||
---|---|---|---|
Linia 20: | Linia 20: | ||
**__Parametry algorytmu__** | **__Parametry algorytmu__** | ||
- | * **pierwszy1, ostatni1** - iteratory wskazujące na zakres danych wejściowych pierwszych. Przetwarzaniu podlegają elementy z zakresu [pierwszy1, ostatni1), co oznacza, że element wskazywany przez last1 nie zostanie przetworzony | + | * **pierwszy1, ostatni1** - iteratory wskazujące na zakres danych wejściowych pierwszych. Przetwarzaniu podlegają elementy z zakresu [pierwszy1, ostatni1) |
* **pierwszy2** - iterator wskazujący na pozycje danych wejściowych drugich. Koniec tego zakresu jest wyliczany na podstawie długości zakresu [pierwszy1, ostatni1). Należy pamiętać aby za elementem peirwszy2 istniało jeszcze co najmniej tyle elementów, ile jest pomiędzy pierwszy1 i ostatni1 | * **pierwszy2** - iterator wskazujący na pozycje danych wejściowych drugich. Koniec tego zakresu jest wyliczany na podstawie długości zakresu [pierwszy1, ostatni1). Należy pamiętać aby za elementem peirwszy2 istniało jeszcze co najmniej tyle elementów, ile jest pomiędzy pierwszy1 i ostatni1 | ||
* **ped_dwuargumentowy** - predykat do spełnienia | * **ped_dwuargumentowy** - predykat do spełnienia | ||
+ | |||
+ | |||
+ | W przypadku, gdy nie zostaną znalezione elementy, które do siebie nie pasują, wartością zwracaną jest **pair<ostatni1, pierwszy2 + (ostatni1 - pierwszy1)>**. | ||
+ | |||
__ | __ | ||
- | **Przykład użycia algorytmu mismatch z bez predykatu.**__ | + | **Przykład użycia algorytmu mismatch bez predykatu.**__ |
<code cpp> | <code cpp> | ||
vector <int> wektor1; | vector <int> wektor1; | ||
Linia 51: | Linia 55: | ||
class rowne_parzyste{ | class rowne_parzyste{ | ||
public: | public: | ||
- | bool operator ()(int ciag1, int ciag2){ //peiwrszy predytkt | + | bool operator ()(int ciag1, int ciag2){ //pierwszy predytkt |
//czy obie wartości są rowne i parzyste | //czy obie wartości są rowne i parzyste | ||
return ( ciag1 == ciag2 || ciag1%2 ==0) ? true : false; | return ( ciag1 == ciag2 || ciag1%2 ==0) ? true : false; | ||
Linia 87: | Linia 91: | ||
} | } | ||
</code> | </code> | ||
+ | |||
===== Przykład programu wykorzystujący algorytm mismatch ===== | ===== Przykład programu wykorzystujący algorytm mismatch ===== | ||
- | {{:mismatch.cpp|}} | + | {{mismatch.cpp}} |
- | * //[[mkrotewicz@gmail.com|Michał Krotewicz 6SST]]// | + | //[[mkrotewicz@gmail.com|Michał Krotewicz 6SST]]// |