使用multimap

 

#pragma  warning(disable: 4786)
#pragma  warning(disable: 4096)

#include 
< math.h >
#include 
< map >
#include 
< algorithm >
#include 
< iostream >
#include 
< string >      //  加上这个
using   namespace  std;

#include 
" afxmt.h "

typedef multimap 
< string string >  mmss;
typedef multimap 
< string string > ::const_iterator CIT; 
typedef multimap 
< string string > ::iterator IT; 
typedef pair
< CIT, CIT >  Range;

void  main()
{    
    multimap
<intint>hello;
    hello.insert(make_pair(
2,3));
 
    multimap
<LPCTSTR, LPCTSTR> efg;
    efg.insert(make_pair
<LPCTSTR, LPCTSTR>("3""4"));  // 因为"3", "4"的type 都是const char[2],不是LPCTSTR
 
    multimap 
<stringstring> DNS_daemon;
    
    DNS_daemon.insert(make_pair
<stringstring>("213.108.96.7","cppzone.com"));  // 同理
    DNS_daemon.insert(make_pair<stringstring>("213.108.96.7","cppluspluszone.com")); // 同理
    cout<<DNS_daemon.count("213.108.96.7"<< " elements associated" << endl;
 
    Range range
=DNS_daemon.equal_range("213.108.96.7");
    
for(CIT i=range.first; i!=range.second; ++i)
        cout 
<< (i->second).c_str()<< endl; 
 
    DNS_daemon.insert(make_pair
<stringstring>("219.108.96.70""pythonzone.com")); // 同理
    CIT cit=DNS_daemon.upper_bound("213.108.96.7");
    
if (cit!=DNS_daemon.end()) //found anything?
        cout<<(cit->second).c_str()<<endl; //display: pythonzone.com
 
    
// 插入有相同键的多个值
    DNS_daemon.insert(make_pair<stringstring>("219.108.96.70","pythonzone.com")); // 同理
    DNS_daemon.insert(make_pair<stringstring>("219.108.96.70","python-zone.com"));  // 同理
    
    
// 获得第一个值的迭代指针
    cit=DNS_daemon.upper_bound("213.108.96.7");
    
    
// 输出: pythonzone.com,python-zone.com
    while(cit!=DNS_daemon.end())
    
{
        cout
<< (cit->second).c_str()<<endl; 
        
++cit;
    }


 DNS_daemon.erase(
"219.108.96.70");
 range
=DNS_daemon.equal_range("219.108.96.70");
    
for(i=range.first; i!=range.second; ++i)
        cout 
<< (i->second).c_str()<< endl; 
}

 

你可能感兴趣的:(Algorithm,String,iostream,pair,math.h)