- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Binary search in sorted vector of pairs in C++
This is a C++ program to implement Binary search in a sorted vector of pairs.
Algorithm
Begin Declare a structure keycompare. Function operator()(const pair& v, const int& k) returns Booleans. Status = v.first < k. Return status. Function operator()(const pair& v, const int& k) returns Booleans. Status = k < v.first. Return status. Declare a vector v. Declare key and value pair within v of the integer datatype. Call push_back() function to insert values in v vector. Call sort() function to sort all elements of the vector v. Print “Sorted vector”. Print “Key” “Value”. for (pair& n : v) print the first and second value of n. if (binary_search(v.begin(), v.end(), 50,keycompare())) then print “50 exists in vector”. Else Print “50 does not exist”. if (binary_search(v.begin(), v.end(), 7,keycompare() )) then print “7 exists in vector”. Else Print “7 does not exist”. End.
Example Code
#include <algorithm> #include <iostream> #include <vector> using namespace std; struct keycompare { bool operator()(const pair<int, int>& v, const int& k) { return (v.first < k); } bool operator()(const int& k, const pair<int, int>& v) { return (k < v.first); } }; int main() { vector<pair<int, int>> v; v.push_back(make_pair(7, 26)); v.push_back(make_pair(6, 76)); v.push_back(make_pair(4, 16)); v.push_back(make_pair(5, 36)); sort(v.begin(), v.end()); cout<<"Sorted vector"<<endl; cout << "KEY" << '\t' << "VALUE" << endl; for (pair& n : v) cout << n.first << '\t' << n.second << endl; if (binary_search(v.begin(), v.end(), 50,keycompare())) cout << "50 exists in vector"; else cout << "50 does not exist"; cout << endl; if (binary_search(v.begin(), v.end(), 7,keycompare() )) cout << "7 exists in vector"; else cout << "7 does not exist"; return 0; }
Output
Sorted vector KEY VALUE 4 16 5 36 6 76 7 26 50 does not exist 7 exists in vector
Advertisements