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

宁夏建设厅网站首页衡水seo营销

宁夏建设厅网站首页,衡水seo营销,咨询公司名字,logo做ppt模板下载网站C学习笔记---025 C之unordered_set和unordered_map的模拟实现1、unordered_set的模拟实现2、unordered_map的模拟实现 C之unordered_set和unordered_map的模拟实现 前言: 前面篇章学习了C对unordered_set和unordered_map的认识和应用,接下来继续学习&am…

C++学习笔记---025

  • C++之unordered_set和unordered_map的模拟实现
    • 1、unordered_set的模拟实现
    • 2、unordered_map的模拟实现

C++之unordered_set和unordered_map的模拟实现

前言:
前面篇章学习了C++对unordered_set和unordered_map的认识和应用,接下来继续学习,C++的unordered_set和unordered_map模拟实现等知识。
/知识点汇总/

1、unordered_set的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1#include "HashBucket.h"namespace bit1
{template<class K, class Hash = HashFunc<K>>//class Hash = HashFunc<K>修改参数在这里传入class unordered_set{struct SetKeyOfT{const K& operator()(const K& key){return key;}};public://迭代器typedef typename HashTable<K,const K, SetKeyOfT, Hash>::Iterator iterator;typedef typename HashTable<K, const K, SetKeyOfT, Hash>::const_Iterator const_iterator;iterator begin(){return _ht.Begin();}iterator end(){return _ht.End();}const_iterator begin() const{return _ht.Begin();}const_iterator end() const{return _ht.End();//这里报错,是因为End()中的返回值,this指针问题}pair<iterator, bool> insert(const K& key){return _ht.Insert(key);}iterator find(const K& key){return _ht.Find(key);}bool erase(const K& key){return _ht.Erase(key);}private://HashTable<K, V> _ht;HashTable<K,const K, SetKeyOfT, Hash> _ht;//+const};void test_unordered_set(){unordered_set<int> s;s.insert(31);s.insert(11);s.insert(5);s.insert(15);s.insert(25);unordered_set<int>::iterator it = s.begin();while (it != s.end()){//*it += 1;//set是不能被修改的,需要const修饰cout << *it << " ";++it;}cout << endl;for (auto e : s){cout << e << " ";}cout << endl;}//const迭代器void Func(const unordered_set<int>& s){unordered_set<int>::iterator it = s.begin();while (it != s.end()){//*it = 1;cout << *it << " ";++it;}cout << endl;}
}

2、unordered_map的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1#include "HashBucket.h"namespace bit1
{template<class K, class V,class Hash = HashFunc<K>>class unordered_map{struct MapKeyOfT{const K& operator()(const pair<K, V>& kv){return kv.first;}};public:typedef typename HashTable<K, pair<const K, V>, MapKeyOfT, Hash>::Iterator iterator;iterator begin(){return _ht.Begin();}iterator end(){return _ht.End();}V& operator[](const K& key){pair<iterator, bool> ret = insert(make_pair(key, V()));return ret.first->second;//报错发现->还没有写}// 21:15pair<iterator, bool> insert(const pair<K, V>& kv){return _ht.Insert(kv);}private:HashTable<K, pair<const K, V>, MapKeyOfT, Hash> _ht;};void test_unordered_map(){string arr[] = { "苹果", "西瓜", "苹果", "西瓜", "苹果", "苹果", "西瓜","苹果", "香蕉", "苹果", "香蕉","苹果","草莓", "苹果","草莓" };unordered_map<string, int> countMap;for (auto& e : arr){countMap[e]++;}unordered_map<string, int>::iterator it = countMap.begin();while (it != countMap.end()){//it->first += 'x'; // key不能修改it->second += 1;  // value可以修改cout << it->first << ":" << it->second << endl;++it;}cout << endl;for (auto& kv : countMap){cout << kv.first << ":" << kv.second << endl;}cout << endl;}
}
http://www.dinnco.com/news/6595.html

相关文章:

  • 网上开店铺需要多少钱成都网站优化公司
  • 开题报告电子商务网站建设网站搜索排名优化价格
  • 上海网站建设企业排名模板网站建设开发
  • 富蕴县建设局网站百度站长资源平台
  • vps网站建设中文域名注册官网
  • asp网站开发教案百度收录查询接口
  • 苏州网站建设最好新冠病毒最新消息
  • 新上线的网站怎么做优化网站seo推广
  • 企业网站的建立必要性西安百度推广外包
  • 邯郸房地产网站建设关键词排名优化品牌
  • 源创派网站建设百度推广方式有哪些
  • 光谷做网站推广怎么样青岛网站建设
  • 朝阳网站建设微信公众平台开发
  • 自己做营销网站百度95099怎么转人工
  • 减肥网站开发目的整合营销推广
  • 网站建设需要收集资料吗b2b自动发布信息软件
  • 建立设计网站富阳佳木斯seo
  • 如何用自己电脑做网站测试室内设计培训哪个机构比较好
  • 西宁企业网站建设开发国际新闻热点事件
  • 青岛网站建设设计可以免费做网站推广的平台
  • 微信网站作用域名查询平台
  • 电子商务网站开发武汉seo认可搜点网络
  • 超低价的郑州网站建设企业网站推广的形式有
  • 专注武汉网站建设google官网登录
  • wordpress 伪静态tags百度关键词优化策略
  • wordpress 系统安装教程 pdf南宁seo排名首页
  • 湛江网站建站建设广州谷歌seo
  • 天津网站建设案例展示自己的app如何接广告
  • 制作网页游戏html关键词优化策略
  • 动易sf做网站多少钱石家庄市人民政府官网