Narzędzia użytkownika

Narzędzia witryny


mismatch

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
mismatch [2009/03/28 15:17]
mkrotewicz
mismatch [2009/04/28 14:26] (aktualna)
mkrotewicz
Linia 12: Linia 12:
 template <class IteratorWejsciowy1,​ class IteratorWejsciowy2>​ template <class IteratorWejsciowy1,​ class IteratorWejsciowy2>​
    ​pair<​IteratorWejsciwoy1,​ IteratorWejsciowy2>​    ​pair<​IteratorWejsciwoy1,​ IteratorWejsciowy2>​
-       ​mismatch(IteratorWejsciowy1 pierwszy1, IteratorWejsciowy2 ostatni1, IteratorWejsciowy2 pierwszy2);+       ​mismatch(IteratorWejsciowy1 pierwszy1, IteratorWejsciowy2 ostatni1, ​ 
 +                ​IteratorWejsciowy2 pierwszy2);
  
 template <class IteratorWejsciowy1,​ class IteratorWejsciowy2,​ class PredykatDwuargumentowy>​ template <class IteratorWejsciowy1,​ class IteratorWejsciowy2,​ class PredykatDwuargumentowy>​
    ​pair<​IteratorWejsciwoy1,​ IteratorWejsciowy2>​    ​pair<​IteratorWejsciwoy1,​ IteratorWejsciowy2>​
-       ​mismatch(IteratorWejsciowy1 pierwszy1, IteratorWejsciowy2 ostatni1, IteratorWejsciowy2 pierwszy2, PredykatDwuargumentowy pred_dwuargumentowy);​+       ​mismatch(IteratorWejsciowy1 pierwszy1, IteratorWejsciowy2 ostatni1, IteratorWejsciowy2 pierwszy2, ​ 
 +                ​PredykatDwuargumentowy pred_dwuargumentowy);​
 </​code>​ </​code>​
  
 **__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 ​bez predykatu.**__+**Przykład użycia algorytmu mismatch bez predykatu.**__
 <code cpp> <code cpp>
 vector <int> wektor1; vector <int> wektor1;
Linia 51: Linia 57:
 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 93:
 } }
 </​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]]//
mismatch.1238249833.txt.gz · ostatnio zmienione: 2009/03/28 15:17 przez mkrotewicz