yuchao 发表于 2018-2-11 12:01:20


            php 实现Hash表功能
Hash表作为最重要的数据结构之一,也叫做散列表。使用PHP实现Hash表的功能。PHP可以模拟实现Hash表的增删改查。通过对key的映射到数组中的一个位置来访问。映射函数叫做Hash函数,存放记录的数组称为Hash表。
Hash函数把任意长度的和类型的key转换成固定长度输出。不同的key可能拥有相同的hash。
Hash表的时间复杂度为O(1)
arr = new SplFixedArray($this->size);
}
/**
   * Description: 简单hash算法。输入key,输出hash后的整数
   * @param $key
   * @return int
   */
private function simpleHash($key){
    $len = strlen($key);
    //key中每个字符所对应的ASCII的值
    $asciiTotal = 0;
    for($i=0; $isize;
}
/**
   * Description: 赋值
   * @param $key
   * @param $value
   * @return bool
   */
public function set($key, $value){
    $hash = $this->simpleHash($key);
    $this->arr[$hash] = $value;
    return true;
}
/**
   * Description: 取值
   * @param $key
   * @return mixed
   */
public function get($key){
    $hash = $this->simpleHash($key);
    return $this->arr[$hash];
}
public function getList(){
    return $this->arr;
}
public function editSize($size){
    $this->size = $size;
    $this->arr->setSize($size);
}
}
?>
页: [1]
查看完整版本: php 实现Hash表功能实例详解