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

h5网站快速搭建班级品牌建设

h5网站快速搭建,班级品牌建设,做网站公司怎么做,专业团队原版视频🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇欢迎点赞收藏加关注哦! 实现哈希表 🍉扩容🍉插入🍉获取value🍉源码 🍉扩容 在讲插入之前需要…

🎇个人主页:Ice_Sugar_7
🎇所属专栏:Java数据结构
🎇欢迎点赞收藏加关注哦!

实现哈希表

  • 🍉扩容
  • 🍉插入
  • 🍉获取value
  • 🍉源码

🍉扩容

在讲插入之前需要先了解扩容,因为插入后载荷因子如果超过阈值,那我们就要扩容,即扩容是插入操作的一部分

扩容后,原先哈希表中的元素的哈希地址会改变。之前会发生哈希冲突的元素可能扩容后就不会了
比如数组初始长度为10,hash(key) = key % capacity,那么key为1和key为11的元素会冲突。现在扩容后长度为20,key为11的元素就会到下标为11的位置

扩容的思路为:遍历所有节点,重新计算每个节点的地址,并插入到对应位置

    private void resize() {Node[] newArray = new Node[array.length*2];for(int i = 0;i < array.length;i++) {Node cur = array[i];//遍历链表while(cur != null) {Node tmp = cur.next;  //先保存 cur 的下一个节点,不然头插后会找不到它int newIndex = i % newArray.length;//采用头插法 插入到新数组的 newIndex下标cur.next = newArray[newIndex];newArray[newIndex] = cur;cur = tmp;}}array = newArray;}

🍉插入

插入之前得先检查key是否已经存在,如果已经有了,则只需更新它的value

    public void put(int key, int value) {int hash = key % array.length; //计算地址Node cur = array[hash];while(cur != null) {  //先找一下key是否已经存在,若已经存在,则更新它的value就可以了if(cur.key == key) {cur.value = value;return;}cur = cur.next;}//到这里说明没找到key,那么就创建新节点,然后头插Node node = new Node(key,value);node.next = array[hash];array[hash] = node;size++;if(size*1.0 / array.length > LOAD_FACTOR) {resize();}}

🍉获取value

这个操作很简单,直接上代码:

    public int get(int key) {int hash = key % array.length;Node node = array[hash];while(node != null) {if(node.key == key)return node.value;node = node.next;}return -1;}

🍉源码

源码放在gitee仓库了,详情可看下面链接:
实现哈希表

http://www.yayakq.cn/news/558221/

相关文章:

  • 设计型网站案例微信无需下载免费登录
  • 手机上的网站建设一个网站需要做哪些工作
  • 制作网站可以赚钱吗网站开发推荐
  • 视觉设计原则青岛seo推广专员
  • 建站公司 深圳html个人网站制作
  • 陕西省住房和城乡建设网站深圳市宝安区邮政编码
  • 网站建设及那个科目百度站长工具大全
  • 太原网站制作案例安徽seo报价
  • 网站开发难吗app开发公司名称
  • 南宁大型网站开发网站开发公司 logo
  • 海南网站建设推广公司哪家好做视频网站需要流媒体吗
  • 网站文章收录深圳招工包吃住8000元
  • 网站入口首页电子商务网站的开发原则包括
  • 创立个网站专业卖手机万维网注册域名后怎么导入网站
  • 做网站的客户资料交换qq群app软件开发哪个公司好
  • 企业网站建设费用深圳打开百度首页
  • 哪一个做网站模版好用的学生可做的网站主题
  • 网站建设系统课程给网站设置关键词
  • 网站开发规范有哪些网站做抽奖活动
  • 花生壳怎么做网站山东教育行业网站建设推荐
  • 国家建设部投诉网站微信旧版本下载
  • 万能素材网站下载大型房产网站建设
  • 服装外贸erp北京seo收费
  • 做下载网站挣钱吗宜州做网站需要多少钱
  • 网站建设找盛誉网络如何给自己网站做外链
  • 惠州住房和建设局网站xxx美食网站建设规划书
  • 宁波网站建设团队百度问答库
  • 黑龙江省建设主管部门网站家在坪山业主论坛家在深圳
  • 顺德品牌网站建设价位搭建网站需要什么语言
  • 营销型网站建设推荐赚钱做网站