PHP实现哈希表_PHP教程
PHP实现哈希表
//一个简单的哈希表实现。。。。
<?php class hashTable { private $collection; private $size = 100; //初始化哈希表的大小 public function __construct($size='') { $bucketsSize = is_int($size)?$size:$this->size; $this->collection = new SplFixedArray($bucketsSize); } //生成散列值,作为存储数据的位置 private function _hashAlgorithm($key) { $length = strlen($key); $hashValue = 0; for($i=0; $i<$length; $i++) { $hashValue += ord($key[$i]); } return ($hashValue%($this->size)); } //在相应的位置存储对应的值 public function set($key, $val) { $index = $this->_hashAlgorithm($key); $this->collection[$index] = $val; } //根据键生成散列值,进而找到对应的值 public function get($key) { $index = $this->_hashAlgorithm($key); return $this->collection[$index]; } //删除某个值,成功返回1,失败返回0 public function del($key) { $index = $this->_hashAlgorithm($key); if(isset($this->collection[$index])) { unset($this->collection[$index]); return 1; } else { return 0; } } //判断某个值是否存在,存在返回1, 不存在返回0 public function exist($key) { $index = $this->_hashAlgorithm($key); if($this->collection[$index]){ return 1; } else { return 0; } } //返回key的个数 public function size() { $size = 0; $length = count($this->collection); for($i=0; $i<$length; $i++) { if($this->collection[$i]) { $size++; } } return $size; } //返回value的序列 public function val() { $size = 0; $length = count($this->collection); for($i=0; $i<$length; $i++) { if($this->collection[$i]) { echo $this->collection[$i]."<br />"; } } } //排序输出 public function sort($type=1) { $length = count($this->collection); $temp = array(); for($i=0; $i<$length; $i++) { if($this->collection[$i]) { $temp[] = $this->collection[$i]; } } switch ($type) { case 1: //正常比较 sort($temp, SORT_REGULAR); break; case 2: //按照数字比较 sort($temp, SORT_NUMERIC); break; //按照字符串进行比较 case 3: sort($temp, SORT_STRING); break; //根据本地字符编码环境进行比较 case 4: sort($temp, SORT_LOCALE_STRING); break; } echo "<pre class="code">"; print_r($temp); } //逆序输出 public function rev($type=1) { $length = count($this->collection); $temp = array(); for($i=0; $i<$length; $i++) { if($this->collection[$i]) { $temp[] = $this->collection[$i]; } } switch ($type) { case 1: //正常比较 rsort($temp, SORT_REGULAR); break; case 2: //按照数字比较 rsort($temp, SORT_NUMERIC); break; //按照字符串进行比较 case 3: rsort($temp, SORT_STRING); break; //根据本地字符编码环境进行比较 case 4: rsort($temp, SORT_LOCALE_STRING); break; } echo "<pre class="code">"; print_r($temp); } } //简单的测试 $list = new hashTable(200); $list->set("zero", "zero compare"); $list->set("one", "first test"); $list->set("two", "second test"); $list->set("three", "three test"); $list->set("four", "fouth test"); echo $list->val(); echo "after sorted : <br />"; $list->rev(3);

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menggunakan algoritma carian cincang dalam C++ Algoritma carian cincang ialah teknologi carian dan storan yang cekap Ia menukar kata kunci kepada indeks panjang tetap melalui fungsi cincang, dan kemudian menggunakan indeks ini dalam Carian struktur data. Dalam C++, kita boleh melaksanakan algoritma carian hash dengan menggunakan bekas cincang dan fungsi cincang dalam perpustakaan standard. Artikel ini akan memperkenalkan cara menggunakan algoritma carian hash dalam C++ dan memberikan contoh kod khusus. Memperkenalkan fail pengepala dan ruang nama Pertama, sebelum menggunakan algoritma carian hash dalam C++

Bagaimana untuk menulis algoritma carian hash dalam Python? Algoritma carian hash, juga dikenali sebagai algoritma carian hash, ialah kaedah carian data berdasarkan jadual hash. Berbanding dengan algoritma carian tradisional seperti carian linear dan carian binari, algoritma carian hash mempunyai kecekapan carian yang lebih tinggi. Dalam Python, kita boleh menggunakan kamus untuk melaksanakan jadual hash dan kemudian melaksanakan carian hash. Idea asas algoritma carian hash adalah untuk menukar kata kunci untuk dicari kepada nilai indeks melalui fungsi hash, dan kemudian cari dalam jadual hash berdasarkan nilai indeks.

Mendedahkan teknologi asas Python: Cara melaksanakan algoritma cincang, contoh kod khusus diperlukan Ringkasan: Algoritma cincang ialah salah satu teknologi yang biasa digunakan dalam medan komputer dan digunakan untuk menentukan pengenalpastian unik data dengan cepat. Sebagai bahasa peringkat tinggi, Python menyediakan banyak fungsi cincang terbina dalam, seperti fungsi cincang() dan pelaksanaan pelbagai algoritma cincang. Artikel ini akan mendedahkan prinsip algoritma pencincangan dan butiran pelaksanaan asas Python, dan memberikan contoh kod khusus. Pengenalan kepada Algoritma Hash Algoritma Hash, juga dikenali sebagai algoritma hash, ialah kaedah menukar data sebarang panjang kepada

Dalam era digital hari ini, dengan perkembangan Internet dan peningkatan kepentingan maklumat, kerahsiaan dan keselamatan data menjadi semakin penting. Untuk memastikan data tidak dicuri atau diusik semasa penghantaran, pembangun PHP sering menggunakan teknik penyulitan dan pencincangan untuk melindungi data sensitif. Artikel ini akan memperkenalkan teknologi penyulitan dan pencincangan yang paling biasa digunakan dalam pembangunan PHP, serta kelebihan dan kekurangannya. 1. Teknologi penyulitan Penyulitan ialah teknologi yang melindungi keselamatan data Ia menggunakan algoritma untuk menukar data kepada bentuk yang tidak bermakna. Hanya orang yang memegang kunci boleh memulihkannya kepada boleh dibaca

Apabila memahami pelaburan Bitcoin dan teknologi blockchain, algoritma hash boleh dikatakan kerap muncul Dikatakan dalam bulatan mata wang bahawa hip-hop mempunyai hip-hop dan algoritma mempunyai hash. Bagi perkataan "algoritma", ia kini digunakan secara samar-samar oleh pengguna domestik Kadang-kadang ia merujuk kepada mekanisme konsensus, dan kadang-kadang ia merujuk kepada algoritma Hash khusus Sebagai algoritma blockchain, algoritma Hash sentiasa membuat orang ramai merasai tidak jelas. Jadi, apakah algoritma Hash? Seterusnya, editor bulatan mata wang akan memberi anda penjelasan ringkas tentang apa itu algoritma cincang? Saya berharap pelabur dapat memahami algoritma hash selepas membaca artikel ini. Apakah algoritma hash? Hash dialih huruf daripada "Hash", juga dikenali sebagai "hash". Pada asasnya program komputer yang menerima sebarang

Fungsi cincang ialah sebarang fungsi yang boleh digunakan untuk memetakan data dari sebarang saiz kepada data saiz tetap. Nilai yang dikembalikan oleh fungsi cincang dipanggil nilai cincang, kod cincang, ringkasan atau ringkasnya cincang. Sintaks stringhash(string$algo,string$data[,bool$raw_output=FALSE]) Parameter algo Nama algoritma hash yang dipilih (seperti "md5", "sha256", "haval160,4", dll.) data kepada menjadi maklumat dicincang. Apabila raw_output ditetapkan kepada TRUE, data binari mentah akan dikeluarkan. FALSE mengeluarkan heksadesimal huruf kecil. Contoh<?php  

Cara mengendalikan fungsi pencincangan dan penyulitan dalam sistem perakaunan - Kaedah pembangunan pencincangan dan penyulitan menggunakan PHP Pengenalan: Dengan kemunculan era digital, keselamatan pelbagai sistem maklumat telah menjadi lebih penting. Apabila mereka bentuk dan membangunkan sistem perakaunan, melindungi data privasi pengguna adalah penting. Antaranya, penggunaan fungsi pencincangan dan penyulitan secara berkesan dapat melindungi maklumat sensitif pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pencincangan dan penyulitan dalam sistem perakaunan, dan menyediakan contoh kod khusus. 1. Pelaksanaan fungsi cincang Hash ialah algoritma penyulitan sehala

Pengenalan Dalam dunia digital yang serba pantas dan bersambung hari ini, memastikan ketersediaan aplikasi yang tinggi adalah penting. Teknologi pengimbangan beban membolehkan aplikasi mengagihkan trafik masuk merentas berbilang pelayan, meningkatkan prestasi dan kebolehpercayaan. PHP menyediakan sokongan untuk pelbagai teknologi pengimbangan beban, masing-masing mempunyai kelebihan dan batasan uniknya sendiri. Round Robin Round Robin ialah teknik pengimbangan beban yang mudah dan berkesan yang mengedarkan permintaan kepada kumpulan pelayan mengikut urutan. Pendekatan ini mudah dilaksanakan dan memastikan permintaan diagihkan sama rata antara pelayan. $servers=array("server1","server2","server3");$index=0;while(true)
