本文导读目录:
1、2025年1月华为ascend p6(c600d-t36b)
![](/tutu9/322.png)
家用喷墨打印机还是激光打印机好(激光打印机好还是喷墨的好一点
2025年1月华为ascend p6(c600d-t36b)![](/tutu9/76.png)
激光打印Jī好还是喷墨的好一点
激光打印JīDǎ印速度快
c600d-t36bphpShù组重新索引(PHP数组的底层实现
2025年1月华为ascend p6(c600d-t36b)PHP数组的底层实现
PHP数组的底层主要是通过HashTable实旁慎现,HashTable通过映射函数或者散Liè函数将StringKey转换成一个普通的数字XiàBiāo,然后再将Value值存储到下标对应的数组元素中HashTable主要包含两部分:.存储元素的数Zǔ.散列函数Huò者映射函数Suí机访早困问如果我们指定一个Key=》Value的映射关系,Key是一个String类型的,则先通过Time算法将String转换成一个Int整型,然后再通过PHP里面特定的SànLiè算法映射成Bucket数组中的一个下标,JiāngValue值存储到对应的下标元素中,当我们通GuòKey访Wèn数组元Sù时,只需Yào再通过相同的算法计算出对应的Key,就能Shí现随机访问数组元素顺序访问Cún储在HashTable中的数组是无序De,Dàn是PHP中的数Zǔ是有序的,为了实现HashTable的有Xù性,PHP引入了一个中间映射表,该表是一个大小和Bucket数组相同的数组,数组中存放的是整形数据,主要用于存放元素实际存储的Value的下标值,当引入中间映射Biǎo之后,Bucket中De数据是有序的,而中间陆启念映射表中的数Jù是无序的,当我们顺序访问的时候Zhǐ需要遍历Bucket中De数据即可Hash冲突PHP解决Hash冲突采用的是链地Zhǐ法,将出现冲突的Bucket串成链表,这样通过中间映射表映射出来的就不再是一个元素而是一个链表,通过散列函数定位到对应的Bucket链表Shí,需要遍历链表,逐个对比key值,直至找出对应的目标值PHPShí现扩容.当删除的元素所占比例超出阈值De时候,则需要移除Yǐ经被逻辑删除的Bucket,将后面的Bucket补位到前面,因为Bucket的下标发生了变动,所以需要更Xīn每元素在中间Yìng射表中实际存储的下标值.当Mò有超Chū阈值的时候,PHP会申请一个大Xiǎo是原来两倍的新数组,并将旧数组中的数据复制到新数组中,因为数组长度发生了变化,所以key-》value的映射关系需要重Xīn计算,这个就是重建Suǒ引
华为ascend p6的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c600d-t36b、华为ascend p6的信息别忘了在本站进行查找喔。