stl中map的基本用法
#include "stdafx.h"
#include <map>
using namespace std;
struct SPxUserInfo
{
#define MAX_NAME_LEN (512)
unsigned int nUserId;
char szName[MAX_NAME_LEN];
int nAge;
SPxUserInfo()
{
Flush();
}
~SPxUserInfo()
{
Flush();
}
void Flush()
{
nUserId = 0;
memset(szName, 0, MAX_NAME_LEN);
nAge = 0;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
std::map <unsigned int, SPxUserInfo> mapUser;
// 新增資料
SPxUserInfo sPxUserInfo;
sPxUserInfo.nUserId = 1;
strcpy(sPxUserInfo.szName, "Kate");
sPxUserInfo.nAge = 18;
std::map <unsigned int, SPxUserInfo> :: iterator iter = mapUser.find(sPxUserInfo.nUserId);
if (mapUser.end() == iter)
{
mapUser[sPxUserInfo.nUserId] = sPxUserInfo;
}
sPxUserInfo.nUserId = 2;
strcpy(sPxUserInfo.szName, "James");
sPxUserInfo.nAge = 20;
iter = mapUser.find(sPxUserInfo.nUserId);
if (mapUser.end() == iter)
{
mapUser[sPxUserInfo.nUserId] = sPxUserInfo;
}
// 遍歷map
printf("遍歷map....\n");
iter = mapUser.begin();
while (mapUser.end() != iter)
{
sPxUserInfo = iter->second;
printf("Id: %d, Name: %s, Age: %d\n",
sPxUserInfo.nUserId, sPxUserInfo.szName, sPxUserInfo.nAge);
iter++;
}
printf("遍歷結束. 元素個數:%d\n\n", mapUser.size());
// 刪除指定元素
int nUserId = 2;
printf("刪除nUserId = %d的元素...\n", nUserId);
iter = mapUser.find(nUserId);
if (mapUser.end() != iter) // 如果找到
{
mapUser.erase(iter);
}
iter = mapUser.begin();
while (mapUser.end() != iter)
{
sPxUserInfo = iter->second;
printf("Id: %d, Name: %s, Age: %d\n",
sPxUserInfo.nUserId, sPxUserInfo.szName, sPxUserInfo.nAge);
iter++;
}
printf("刪除元素結束.元素個數:%d\n", mapUser.size());
// 判斷map是否為空
if (mapUser.empty()) // empty函式: return true only if sequence is empty
{
printf("map is empty\n");
}
else
{
printf("map is not empty\n");
}
printf("\n");
// 清空所有元素
mapUser.clear();
printf("開始清空所有元素...\n");
if (mapUser.empty()) // empty函式: return true only if sequence is empty
{
printf("map is empty\n");
}
else
{
printf("map is not empty\n");
}
getchar();
return 0;
}
執行結果:
相關文章
- STL map 詳細用法
- STL:map用法總結
- STL的map使用和分析
- STL使用篇__map
- Python中if的基本用法Python
- stl原始碼分析——map/multimap原始碼
- STL_map和multimap容器
- QMl 中alias 的基本用法
- C++中& 的基本用法C++
- STL:vector用法總結
- STL:list用法總結
- STL:set用法總結
- Java 8 中 Map 騷操作之 merge() 的用法Java
- linux中grep基本用法Linux
- STL 優先佇列 用法佇列
- 關於c++ STL map 和 unordered_map 的效率的對比測試C++
- c++ map用法C++
- 前端 JavaScript 中 JSON.stringify() 的基本用法前端JavaScriptJSON
- vector的基本用法
- MongoDB的基本用法MongoDB
- async的基本用法
- dva的基本用法
- rematch的基本用法REM
- Generator的基本用法
- webpack的基本用法Web
- C++STL第二篇(vector的原理用法)C++
- 24_map的基本使用.goGo
- HDU 1004 Let the Balloon Rise(STL初體驗之map)
- Python中裝飾器的基本概念和用法Python
- vue中vuex的五個基本屬性和用法Vue
- GORM基本用法GoORM
- Promise基本用法Promise
- BigDecimal 基本用法Decimal
- Git基本用法Git
- merge into基本用法
- CompletableFuture基本用法
- Moya基本用法
- requests基本用法