C 學習筆記 map的使用樣例

2021-09-20 12:46:33 字數 1561 閱讀 8122

map的基本操作函式:

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

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

clear() 刪除所有元素

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

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

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

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

erase() 刪除乙個元素

find() 查詢乙個元素

get_allocator() 返回map的配置器

insert() 插入元素

個人感覺做演算法題時常用的是

1.字串到整型的應用

2.字串到字串的應用

不少航空公司都會提供優惠的會員服務,當某顧客飛行里程累積達到一定數量後,可以使用里程積分直接兌換獎勵機票或獎勵公升艙等服務。現給定某航空公司全體會員的飛行記錄,要求實現根據身份證號碼快速查詢會員里程積分的功能。

輸入格式:

輸入首先給出兩個正整數n(≤105)和k(≤500)。其中k是最低里程,即為照顧乘坐短程航班的會員,航空公司還會將航程低於k公里的航班也按k公里累積。隨後n行,每行給出一條飛行記錄。飛行記錄的輸入格式為:18位身份證號碼(空格)飛行里程。其中身份證號碼由17位數字加最後一位校驗碼組成,校驗碼的取值範圍為0~9和x共11個符號;飛行里程單位為公里,是(0, 15 000]區間內的整數。然後給出乙個正整數m(≤10​5),隨後給出m行查詢人的身份證號碼。

輸出格式:

對每個查詢人,給出其當前的里程累積值。如果該人不是會員,則輸出no info。每個查詢結果佔一行。

輸入樣例:

4 500

330106199010080419 499

110108198403100012 15000

120104195510156021 800

330106199010080419 1

4120104195510156021

110108198403100012

330106199010080419

33010619901008041x

輸出樣例:

80015000

1000

no info

使用map進行的操作,有的地方不嚴謹,利用了建立乙個字串對映到對應的int對映值如沒有則預設為0的預設值。

#include

#include

#include

//沒用上

#include

#include

#include

using namespace std;

mapmp;

struct bijiaob[

100002];

//儲存後面輸入的比較使用的身份證號

int main()

scanf

("%d"

,&m)

;for

(int i=

0;i)for

(int i=

0;i)return0;

}

DPDK學習筆記 3 樣例學習

在上乙個系列中已經介紹了dpdk的原理以及編譯安裝,這個部分開始進行dpdk樣例程式的執行測試以及源 分析。編譯樣例前的設定 rte sdk 指向dpdk的安裝目錄 rte target 指向dpdk的目標目標環境目錄 進入樣例程式 cd home dpdk dpdk stable 16.11.1 ...

scala學習筆記09 樣例類

樣例類 樣例類使用了case關鍵字的類定義就是就是樣例類 case classes 樣例類是種特殊的類,經過優化以用於模式匹配。object case class01 定義函式分辨職務 def classify p person unit 定義父類 person class person 定義doc...

C 中map的學習筆記

map需要的標頭檔案是 include map map是一類關聯性容器,它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。我感覺map比較好用的就是key value對,其中key和value可以是任意你需要的型...