一.map
1.建立
typedef mapdescrbe_map_;
descrbe_map_ devmap;
或者mapmessageidmap;
2.增加元素
方法一:pair
例:mapmp;
mp.insert(pair(1,"aaaaa"));
方法二:make_pair
例:mapmp;
mp.insert(make_pair(2,"bbbbb"));
方法三:value_type
例:mapmp;
mp.insert(map::value_type(3,"ccccc"));
方法四:
例:mapmp;
mp[4] = "ddddd";
四種方法異同:
前三種方法當出現重複鍵時,編譯器會報錯,而第四種方法,當鍵重複時,會覆蓋掉之前的鍵值對。
3.刪除元素
//迭代器刪除
iter = mapstudent.find("123");
mapstudent.erase(iter);
//用關鍵字刪除
int n = mapstudent.erase("123"); //如果刪除了會返回1,否則返回0
//用迭代器範圍刪除 : 把整個map清空
mapstudent.erase(mapstudent.begin(), mapstudent.end());
//等同於mapstudent.clear()
4.查詢元素
// find 返回迭代器指向當前查詢元素的位置否則返回map::end()位置
iter = mapstudent.find("123");
if(iter != mapstudent.end())
cout<<"find, the value is"map::iterator p;
for(p = devmap.begin(); p!=devmap.end();p++)
if(p->first == 1)else{
5.map的元素大小
int nsize = mapstudent.size();
6.map的基本操作函式:
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的函式
c++11 之emplace_back 與 push_back區別:
在容器尾部新增乙個元素,這個元素原地構造,不需要觸發拷貝構造和轉移構造。而且呼叫形式更加簡潔,直接根據引數初始化臨時物件的成員
檔案操作方法總結
import os 檢視操作型別,nt表示windows,posix表示unix print os.name 可以執行系統命令 清空螢幕 os.system cls 啟動計算器 os.system calc 環境變數 所有環境變數 env os.environ for key in env prin...
C 字串操作方法總結
1 單個字元分隔用split擷取 string str gt123 1 string strarray str.split 輸出 sarray 0 gt123 sarray 1 1 2 利用多個字元來分隔字串 string str gtazb jiangjben 123 string strarra...
C 的DataTable操作方法
1.將泛型集合類轉換成datatable 表中無資料時使用 public static datatable nulllisttodatatable ilist list for var i 0 i list.count i var array templist.toarray result.load...