7 3 電話聊天狂人 25 分

2021-09-25 17:38:32 字數 3278 閱讀 6097

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。

輸入首先給出正整數n(≤10​5​​),為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。

1. map最基本的建構函式;

mapmapstring;         mapmapint;

mapmapstring;         map< char ,string>mapchar;

mapmapchar;            mapmapint;

2. map新增資料;

mapmaplive;  

1.maplive.insert(pair(102,"aclive"));

2.maplive.insert(map::value_type(321,"hai"));

3, maplive[112]="april";//map中最簡單最常用的插入新增!

3,map中元素的查詢:

find()函式返回乙個迭代器指向鍵值為key的元素,如果沒找到就返回指向map尾部的迭代器。        

map::iterator l_it;; 

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<

#include

using namespace std;

int main( )

{map m1, m2, m3;

map ::iterator m1_iter;

m1.insert ( pair ( 1, 10 ) );

m1.insert ( pair ( 2, 20 ) );

m1.insert ( pair ( 3, 30 ) );

m2.insert ( pair ( 10, 100 ) );

m2.insert ( pair ( 20, 200 ) );

m3.insert ( pair ( 30, 300 ) );

cout << "the original map m1 is:";

for ( m1_iter = m1.begin( ); m1_iter != m1.end( ); m1_iter++ )

cout << " " << m1_iter->second;

cout   << "." << endl;

// this is the member function version of swap

//m2 is said to be the argument map; m1 the target map

m1.swap( m2 );

6.map的sort問題:

map中的元素是自動按key公升序排序,所以不能對map用sort函式:

for example:

#include

#include

using namespace std;

int main( )

{map m1;

map ::iterator m1_iter;

m1.insert ( pair ( 1, 20 ) );

m1.insert ( pair ( 4, 40 ) );

m1.insert ( pair ( 3, 60 ) );

m1.insert ( pair ( 2, 50 ) );

m1.insert ( pair ( 6, 40 ) );

m1.insert ( pair ( 7, 30 ) );

cout << "the original map m1 is:"

c++ maps是一種關聯式容器,包含「關鍵字/值」對

begin()          返回指向map頭部的迭代器

clear()         刪除所有元素

count()          返回指定元素出現的次數

empty()          如果map為空則返回true

end()            返回指向map末尾的迭代器

equal_range()    返回特殊條目的迭代器對

erase()          刪除乙個元素

find()           查詢乙個元素

get_allocator()  返回map的配置器

insert()         插入元素

key_comp()       返回比較元素key的函式

lower_bound()    返回鍵值》=給定元素的第乙個位置

max_size()       返回可以容納的最大元素個數

rbegin()         返回乙個指向map尾部的逆向迭代器

rend()           返回乙個指向map頭部的逆向迭代器

size()           返回map中元素的個數

swap()            交換兩個map

upper_bound()     返回鍵值》給定元素的第乙個位置

value_comp()      返回比較元素value的函式

電話聊天狂人(25 分)

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後 n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,...

電話聊天狂人 25分

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...

7 14 電話聊天狂人 (25 分)

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...