Mega Code Archive

 
Categories / C++ / Map Multimap
 

Use map to store the value of the month name and its day number

#include <map> #include <iostream> #include <string> using namespace std; class ltstr{   public:     bool operator()(const char* s1, const char* s2) const      { return (strcmp(s1, s2) < 0);} }; int main(void) {   map<const char*, int, ltstr> months;      months["January"] = 31;   months["February"] = 28;   months["March"] = 31;   months["April"] = 30;   months["May"] = 31;   months["June"] = 30;   months["July"] = 31;   months["August"] = 31;   months["September"] = 30;   months["October"] = 31;   months["November"] = 30;   months["December"] = 31;      cout << "june -> " << months["June"] << endl;   map<const char*, int, ltstr>::iterator cur  = months.find("June");   map<const char*, int, ltstr>::iterator prev = cur;   map<const char*, int, ltstr>::iterator next = cur;   ++next;   --prev;   cout << "Previous (in alphabetical order) is " << (*prev).first << endl;   cout << "Next (in alphabetical order) is " << (*next).first << endl; }