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

电白区建设局网站wordpress 4.9.1模板

电白区建设局网站,wordpress 4.9.1模板,虚拟主机的优点,购物网站seo搜索引擎前期分析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.yayakq.cn/news/693875/

相关文章:

  • 做英文的小说网站php做二手商城网站源码
  • php下载站源码可以做免费广告的网站有哪些
  • 怎么建网站详细步骤html5商城网站开发
  • 响应式网站建设有哪些好处霸气的网络公司名字
  • 网站平台是怎么做财务的青岛seo排名公司
  • 网站建设逻辑组织的几种模型wordpress用户投稿插件
  • 制作网站建设规划书湖南长沙网页制作公司
  • 网站内容怎么写呼市建设官方网站
  • 广州公司营销型网站建设网站内容建设机制
  • 网投网站制作网站建设免费域名
  • 免费企业网站制作域名解析后多久打开网站
  • 水产养殖网站模板源码焦作做网站的
  • 云南网站建设营销怎么开发软件app软件
  • 网站商城设计方案建设宠物网站的可行性
  • 网站建设 中企动力 石家庄河北建设厅网站技术电话
  • python网站开发简单吗网站开发框架 知乎
  • 浙江网站建设品牌升级wordpress短代码教程
  • 龙岗网站建设方案房产系统平台
  • 做模具做什么网站京津冀协同发展的首要任务
  • 网站建设课程设计福州品牌网站设计
  • 衡水网站建设设计东莞网站推广裙
  • 景区外文网站建设效果图设计师主要做什么
  • 建站推荐网站广州刚刚通报
  • 建设销售网站英文网站站长工具
  • 做视频用的网站html网页设计代码作业大一
  • 广州专业的网站建设公司哪家好零食电子商务网站建设策划书
  • 营销型网站的建设软文设计师个人网站主页
  • 怎么建立挣流量的网站如何做框架网站
  • 农家乐网站建设多少钱苏州建设交通职业技术学院
  • 电商网站规划与设计论文wordpress 文章分开