当前位置: 首页 > news >正文

STL学习(?map容器)

目录

一、构造与赋值

1.基本概念

2.构造和赋值

二、大小和交换

三、插入和删除

四、查找和统计

五、排序


一、构造与赋值

1.基本概念

所有元素会根据元素的键值自动排序

迭代器是双向迭代器,不是随机迭代器。

2.构造和赋值

函数原型

map<T1,T2> mp;    //  默认构造

map(const map & mp)   // 拷贝构造

赋值

map & operator=(const map &mp)

二、大小和交换

函数原型

size()  // 返回容器中元素数目

empty()   // 判断容器是否为空

swap(st)   //  交换两容器元素

#include<iostream>
#include<map>
using namespace std;
void test1()
{map<int, int> m;m.insert(pair<int, int>(1, 1));m.insert(pair<int, int>(2, 2));m.insert(pair<int, int>(4, 4));m.insert(pair<int, int>(3, 3));if(m.empty()){cout << "m is empty" << endl;}else{cout << "m is not empty" << endl;cout << "m size is " << m.size() << endl;}map<int, int> m1;m1.insert(pair<int, int>(12, 6));m1.insert(pair<int, int>(13, 7));m1.insert(pair<int, int>(14, 8));m1.insert(pair<int, int>(15, 9));m1.insert(pair<int, int>(16, 10));m1.swap(m);map<int, int> :: iterator it;for(it = m.begin(); it != m.end(); it++){cout << it->first << " " << it->second << endl;}
}
int main()
{test1();return 0;
}

三、插入和删除

函数原型

insert(elem)  //向容器中插入元素

clear     // 清空所有元素

erase(pos)   // 删除迭代器所指向元素

erase(begin, end) / / [beigin, end), 删除迭代器这个范围的元素

erase(key)   //  按照key删除元素

四、查找和统计

函数原型

find(key)  // 若存在返回这个键值对应的迭代器,若不存在返回end迭代器

五、排序

利用仿函数,可以改变排序规则

http://www.lryc.cn/news/599053.html

相关文章:

  • Linux 内核基础统简全解:Kbuild、内存分配和地址映射
  • 量子威胁下的区块链进化:后量子密码学时代的分布式账本革命
  • 《 java 随想录》| 数组
  • ollama无法拉取模型导致报错
  • Java并发编程第八篇(CountDownLatch组件分析)
  • Python Day15 面向对象核心特性笔记 及 例题分析
  • 深度学习(鱼书)day01--感知机
  • 基于CloudBase+React+CodeBudddy的云上智能睡眠应用开发实践
  • Rust与YOLO目标检测实战
  • rust-结构体使用示例
  • 论文阅读:《无约束多目标优化的遗传算法,群体和进化计算》
  • Eureka-服务注册,服务发现
  • SpringBoot航空订票系统的设计与实现
  • 华为OpenStack架构学习9篇 连载—— 01 OpenStack架构介绍【附全文阅读】
  • docker pull weaviate 国内拉取失败的问题
  • java中如何返回一个可以执行返回操作(return action)的函数或对象
  • rust-枚举
  • 技术赋能多元探索:我的技术成长与行业洞察
  • 【安卓笔记】lifecycle与viewModel
  • MySQL的底层原理--InnoDB记录存储结构
  • Ollama(5)服务接口压力测试
  • PostgreSQL 保留关键字冲突问题:语法错误 在 “user“ 或附近的 LINE 1: CREATE TABLE user
  • Windchill用SQL获取所有组织下的所有用户
  • CIRL:因果启发的表征学习框架——从域泛化到奖励分解的因果革命
  • Linux进程间通信:管道机制全方位解读
  • 【MediaTek】AN7563编译wlan_hwifi出现en_npu.c:42:10: fatal error:
  • 【STM32项目】水质检测
  • 【数组的定义与使用】
  • 使用Python采集招聘网站数据并智能分析求职信息
  • AI大模型各类概念扫盲