Generic mismatch algorithm: Find the corresponding positions in a deque and list at which unequal elements first occur : mismatch « STL Algorithms Non modifying sequence operations « C++






Generic mismatch algorithm: Find the corresponding positions in a deque and list at which unequal elements first occur

 
 

#include <iostream>
#include <cassert>
#include <algorithm>
#include <string>
#include <list>
#include <deque>
#include <vector>
using namespace std;

int main()
{
  list<string> driver_list;
  vector<string> vec;
  deque<string> deq;

  driver_list.insert(driver_list.end(), "AAA");
  driver_list.insert(driver_list.end(), "BBBB");
  driver_list.insert(driver_list.end(), "CCCCC");

  deq.insert(deq.end(), "AAA");
  deq.insert(deq.end(), "DDDDDD");
  
  pair<deque<string>::iterator, list<string>::iterator> pair1 = mismatch(deq.begin(), deq.end(),driver_list.begin());

  if (pair1.first != deq.end())
    cout << "First disagreement in deq and driver_list:\n  "
         << *(pair1.first) << " and " << *(pair1.second)
         << endl;

  return 0;
}

/* 
First disagreement in deq and driver_list:
  DDDDDD and BBBB

 */        
  








Related examples in the same category

1.Check for mismatch between two vectors
2.Use mismatch function to find the first match
3.Use mismatch function with custom function