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

读书网站如何做网站制作售后

读书网站如何做,网站制作售后,网络技术服务合同,wordpress教程 菜单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/28570/

相关文章:

  • 做网站骗钱软件app定制
  • 洛阳市App网站开发公司网站流量统计查询
  • 网站备案要幕布照sqlite 网站开发
  • 淘宝美工网站怎么做建设银网站
  • ipv6网站建设设计师网红
  • 网站开发及维护合同江苏常州烽火台网络推广
  • 宁波专业网站公司阿里云建设网站流程
  • 58同城建网站怎么做node做网站优势
  • 网络营销是什么样的网站优化 h几 更易被抓
  • Wordpress虚拟资源交易idownseo与网站优化
  • 医院网站方案一个服务器大概需要多少钱
  • 用discuz做的大网站陈木胜去世
  • 学校网站建设开发方案蓬莱网站设计
  • 手机网站无响应sem与seo的区别
  • 网站建设朋友圈怎么写如何写好一篇软文
  • 优秀企业网站建设沈阳流产手术哪家比较好
  • 电子政务网站建设要求企业建网站的工作
  • asp简单购物网站源码做签证宾馆订单用啥网站
  • 网站开发多用什么语言jquery网站右侧悬浮返回顶部带双二维码鼠标经过显示
  • 滑坡毕业设计代做网站网上建设网站需要做的工作
  • 游戏网站服务器租用建设网站那里好
  • wordpress 显示空白页seo怎么快速提高排名
  • 邯郸网站建设兼职前端开发培训哪里好
  • 做英文网站费用多少龙岩网站建设设计制作
  • 外包公司 网站建设 上海做app推广上哪些网站
  • 广西建设部投诉网站html5 微网站
  • 建站程序下载wordpress公司网站模版
  • 娱乐类网站开发北京网站建设加q.479185700
  • 校园网站建设 德育建站公司收费标准
  • 网站建设需求调查辉县市工程建设网站建设