327-Hash_table的学习(1)

清疚 2022-10-16 13:28 212阅读 0赞

关于hashtable

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

部分讲解测试

测试1
在这里插入图片描述
我们调式进入hashtable
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来我们要初始化桶
在这里插入图片描述
接下来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
first指向第一个结点,last指向最后一个元素的后继
pos指向第一个大于n的值
在这里插入图片描述
** __first函数的书写**

  1. template <class _ForwardIter, class _Tp, class _Distance>
  2. _ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last,
  3. const _Tp& __val, _Distance*)
  4. {
  5. _Distance __len = 0;
  6. //distance(__first, __last, __len);
  7. __len = yhp::distance(__first,__last);
  8. _Distance __half;
  9. _ForwardIter __middle;
  10. while (__len > 0)
  11. {
  12. __half = __len >> 1;
  13. __middle = __first;
  14. yhp::advance(__middle, __half);
  15. if (*__middle < __val)
  16. {
  17. __first = __middle;
  18. ++__first;
  19. __len = __len - __half - 1;
  20. }
  21. else
  22. {
  23. __len = __half;
  24. }
  25. }
  26. return __first;
  27. }

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

reserve函数和resize函数的区别

reserve函数只开辟空间,无元素。
运行,报错,访问越界。
在这里插入图片描述
在这里插入图片描述
resize函数既开辟了空间,又对每个空间调动构造函数构建对象了,初始化为0
在这里插入图片描述
在这里插入图片描述
继续看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继续调试刚才的程序

在这里插入图片描述
插入唯一值
下面两种写法都可以
在这里插入图片描述
在这里插入图片描述
我们修改一下主函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

hashtable和hashmap

打开hashmap和hashtable,找到下面代码
在这里插入图片描述
在这里插入图片描述
我们再看
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,212人围观)

还没有评论,来说两句吧...

相关阅读