c 容器的操作方法總結

2022-08-29 23:15:27 字數 2051 閱讀 7732

一.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...