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

猪八戒网站找做微信小程序的湖南营销型网站建设

猪八戒网站找做微信小程序的,湖南营销型网站建设,大连全套网站建设,做网站前端程序员关联式容器 在前面,我们所学的vector、list、deque,这些都是序列容器,也就是底层为线性序列的数据结构。 而关联式容器是C标准库中的一种类别,用于存储键值对(key-value pair),关联式容器中的元…

关联式容器

在前面,我们所学的vector、list、deque,这些都是序列容器,也就是底层为线性序列的数据结构。
而关联式容器是C++标准库中的一种类别,用于存储键值对(key-value pair),关联式容器中的元素中的元素是按照键值进行有序存储的,同时也支持快速查找、插入、修改等操作。而map和set就是主要的类型;

这些关联式容器在实现上通常采用平衡二叉搜索树或哈希表等数据结构来保证元素的有序性和高效的查找性能。

键值对

键值对是关联式容器中的一种结构,它由一个键(key)和一个对应值(value)组成。在关联式容器中,每个元素都有一个唯一的键,用于标识和访问该元素。键值对的特性使得关联式容器能够通过键快速查找、插入、删除。

在关联式容器中,键通常用于确定元素的顺序和唯一性,而值则是与键关联的数据。键和值可以是任何类型,但通常使用类或结构体作为键类型,以提供自定义的比较规则。通过比较键的值,关联式容器能够按照键的顺序进行有序存储,并支持快速的查找操作。

键值对的定义:

template <class T1, class T2>
struct pair
{
typedef T1 first_type;
typedef T2 second_type;
T1 first;
T2 second;
pair(): first(T1()), second(T2())
{}
pair(const T1& a, const T2& b): first(a), second(b)
{}
};

set

介绍

set是C++标准库中的一种关联式容器,它用于存储一组有序的、唯一的元素。set中的元素按照键值进行自动排序,并且不允许存在重复的元素

set在底层是由二叉搜索树(红黑树)实现的。
set中只放value,但在底层实际存放的是由<vlaue,value> 构成的键值对。

set中查找某个元素时,时间复杂度为:log_2 n .

使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

void test1()
{set<int> s;s.insert(1);s.insert(3);s.insert(3);s.insert(4);s.insert(6);s.insert(9);s.insert(7);set<int>::iterator it = s.begin();while (it != s.end()){cout << *it << " " ;it++;}cout << endl;// 使用迭代器逆向打印set中的元素for (auto it = s.rbegin(); it != s.rend(); ++it){cout << *it << " ";}cout << endl;set<int>::iterator pos = s.find(7);if (pos != s.end()){cout << "找到了" << endl;s.erase(pos);}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

void test2()
{set<int> s;s.insert(1);s.insert(3);s.insert(3);//s.insert(4);s.insert(6);s.insert(9);s.insert(7);auto start = s.lower_bound(4);cout << *start << endl;auto finish = s.upper_bound(4);cout << *finish << endl;
}

在这里插入图片描述
在这里插入图片描述

muiltiset

multisetsC++标准库中的一种关联式容器,它与set容器类似,但允许存储重复的元素
muiltiset容器和set容器的主要区别在于对重复元素的处理。在set容器中,每个键值只能出现一次,而在muitiset容器中,同一个键值可以出现多次。multisey中的元素会根据键值自动进行排序。

void test3()
{multiset<int> s;s.insert(5);s.insert(1);s.insert(6);s.insert(3);s.insert(4);s.insert(5);s.insert(1);s.insert(1);s.insert(5);s.insert(1);s.insert(1);s.insert(2);s.insert(7);s.insert(10);multiset<int>::iterator it = s.begin();while (it != s.end()){cout << *it << " ";++it;}cout << endl;//统计相同元素的个数cout << s.count(1) << endl;cout << s.count(5) << endl;
}

在这里插入图片描述

map

介绍

map是C++标准库中的一种关联式容器,它用于存储一组键值对每个元素都由一个唯一的键和对应的值组成。map中的元素按照键进行自动排序,并且不允许存在重复键

在map内部,key和value通过成员类型value_type绑定在一起,为其取别名为pair;

typedef pair<const key,T> value_type;

map支持下标访问符,即在[]中放入key,就可以找到与key对应的value值;

map通常被实现为二叉搜索树(平衡二叉搜索树).

使用

在这里插入图片描述

void test4()
{map<string, string> dict;dict.insert(pair<string, string>("sort", "排序"));//pair<string, string> kv("string", "字符串");pair<string, string> kv = { "string", "字符串" };dict.insert(kv);// C++11 多参数隐式类型转换(构造函数)dict.insert({ "apple", "苹果" });// C++98dict.insert(make_pair("sort", "排序"));for (auto& kv : dict){cout << kv.first << ":" << kv.second << endl;}cout << endl;
}

在这里插入图片描述

void test5()
{string arr[] = { "苹果", "西瓜", "苹果", "西瓜", "苹果", "苹果", "西瓜",
"苹果", "香蕉", "苹果", "西瓜", "香蕉", "草莓" };map<string, int> countMap;for (auto& e : arr){countMap[e]++;}for (auto& kv : countMap){cout << kv.first << ":" << kv.second << endl;}cout << endl;//通过operator[]进行查找value值cout << countMap["苹果"] << endl;
}

在这里插入图片描述

在这里插入图片描述

multimap

multimapC++标准库中的一种关联式容器,它与map容器类似,但允许存储重复的键

multimap容器和map容器的主要区别在于对重复键的处理方式。在multimap中,可以有很多个元素具有相同的键,这些元素会按照键进行自动排序,但不保证值的顺序

multimap中没有重载operator[]操作;
使用时与map包含的头文件相同。

http://www.ds6.com.cn/news/21490.html

相关文章:

  • wordpress 自定义字段 面板网站排名优化软件有哪些
  • 代做外国空间网站网站怎么弄
  • 做网站商城必须要买空间吗上海推广seo
  • 域名备案用的网站建设方案网络营销策划方案模板范文
  • 门窗厂家东莞网站建设天津做优化好的公司
  • 企业建站 源码上海已经开始二次感染了
  • 交互设计软件有哪些郑州seo外包公司哪家好
  • 网站建设基础实验1手机网站建设
  • 网站自主制作平台百度平台app
  • 接推广网站广告投放方式
  • 哈尔滨建设集团seo短视频加密路线
  • 网站关键词结构人教版优化设计电子书
  • 1千万人网站维护成本百度广告管家
  • 在线观看网站深夜免费推广公司哪家好
  • 中国和住房城乡建设部网站首页搜索引擎优化结果
  • wordpress更换主题打不开网站seo优化步骤
  • 做网站哪个行业比较有前景足球世界排名一览表
  • 力洋网站建设公司seo推广软件下载
  • 建设一个网站需要提供什么手续app注册拉新平台
  • 咖啡网站开发背景北京seo学校
  • 网站建设公司的公司排名seo网络优化招聘信息
  • 乐器产品主要在什么网站做推广微信上怎么做广告推广
  • 网站功能列表国产长尾关键词拘挖掘
  • 网上网站怎么做深圳网站制作哪家好
  • 天津西青区疫情最新消息今天山东seo网络推广
  • 网站建设项目报价百度贴吧热线客服24小时
  • 网站公司图片站外seo是什么
  • 建设企业网站方案无货源电商怎么做
  • 海淀商城网站建设广东省最新疫情
  • 网站设计与网页制作公司怎么把自己的网站发布到网上