Inhaltsverzeichnis
PHP实现哈希表
Heim Backend-Entwicklung PHP-Tutorial PHP实现哈希表_PHP教程

PHP实现哈希表_PHP教程

Jul 13, 2016 am 09:51 AM
哈希

PHP实现哈希表

//一个简单的哈希表实现。。。。


<?php

class hashTable
{
    private $collection;
    private $size = 100;

    //初始化哈希表的大小
    public function __construct($size=&#39;&#39;)
    {
        $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);
Nach dem Login kopieren


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1011356.htmlTechArticlePHP实现哈希表 //一个简单的哈希表实现。。。。 size; $this->collection = new SplFixedArray($bucketsSize); } //生成散列值,作为存储数据的位置 private...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie den Hash-Suchalgorithmus in C++ So verwenden Sie den Hash-Suchalgorithmus in C++ Sep 19, 2023 pm 02:49 PM

Verwendung des Hash-Suchalgorithmus in C++ Der Hash-Suchalgorithmus ist eine effiziente Such- und Speichertechnologie. Er wandelt Schlüsselwörter über eine Hash-Funktion in einen Index fester Länge um und verwendet diesen Index dann in der Datenstruktursuche. In C++ können wir Hash-Suchalgorithmen implementieren, indem wir Hash-Container und Hash-Funktionen aus der Standardbibliothek verwenden. In diesem Artikel wird die Verwendung des Hash-Suchalgorithmus in C++ vorgestellt und spezifische Codebeispiele bereitgestellt. Einführung in Header-Dateien und Namespaces Zunächst vor der Verwendung des Hash-Suchalgorithmus in C++

Wie schreibe ich einen Hash-Suchalgorithmus in Python? Wie schreibe ich einen Hash-Suchalgorithmus in Python? Sep 21, 2023 pm 02:37 PM

Wie schreibe ich einen Hash-Suchalgorithmus in Python? Der Hash-Suchalgorithmus, auch Hash-Suchalgorithmus genannt, ist eine Datensuchmethode, die auf einer Hash-Tabelle basiert. Im Vergleich zu herkömmlichen Suchalgorithmen wie der linearen Suche und der binären Suche weist der Hash-Suchalgorithmus eine höhere Sucheffizienz auf. In Python können wir ein Wörterbuch verwenden, um eine Hash-Tabelle zu implementieren und dann eine Hash-Suche zu implementieren. Die Grundidee des Hash-Suchalgorithmus besteht darin, das zu durchsuchende Schlüsselwort über eine Hash-Funktion in einen Indexwert umzuwandeln und es dann anhand des Indexwerts in der Hash-Tabelle zu durchsuchen.

Die zugrunde liegende Python-Technologie enthüllt: Wie man einen Hash-Algorithmus implementiert Die zugrunde liegende Python-Technologie enthüllt: Wie man einen Hash-Algorithmus implementiert Nov 08, 2023 pm 06:40 PM

Offenlegung der zugrunde liegenden Technologie von Python: Für die Implementierung eines Hash-Algorithmus sind spezifische Codebeispiele erforderlich. Zusammenfassung: Der Hash-Algorithmus ist eine der am häufigsten verwendeten Technologien im Computerbereich und wird zur schnellen Bestimmung der eindeutigen Identifizierung von Daten verwendet. Als Hochsprache bietet Python viele integrierte Hash-Funktionen, beispielsweise die Funktion hash() und die Implementierung verschiedener Hash-Algorithmen. In diesem Artikel werden die Prinzipien von Hashing-Algorithmen und die Details der zugrunde liegenden Implementierung von Python erläutert und spezifische Codebeispiele bereitgestellt. Einführung in den Hash-Algorithmus Der Hash-Algorithmus, auch Hash-Algorithmus genannt, ist eine Methode zum Konvertieren von Daten beliebiger Länge in

Beste Verschlüsselungs- und Hashing-Techniken in der PHP-Entwicklung Beste Verschlüsselungs- und Hashing-Techniken in der PHP-Entwicklung May 27, 2023 am 08:21 AM

Im heutigen digitalen Zeitalter, mit der Entwicklung des Internets und der zunehmenden Bedeutung von Informationen, werden Datenvertraulichkeit und -sicherheit immer wichtiger. Um sicherzustellen, dass Daten während der Übertragung nicht gestohlen oder manipuliert werden, verwenden PHP-Entwickler häufig Verschlüsselungs- und Hashing-Techniken, um sensible Daten zu schützen. In diesem Artikel werden die am häufigsten verwendeten Verschlüsselungs- und Hashing-Technologien in der PHP-Entwicklung sowie deren Vor- und Nachteile vorgestellt. 1. Verschlüsselungstechnologie Verschlüsselung ist eine Technologie zum Schutz der Datensicherheit. Sie verwendet Algorithmen, um Daten in bedeutungslose Formen umzuwandeln. Nur die Person, die den Schlüssel besitzt, kann ihn wieder lesbar machen

Ein einfacher Artikel, der erklärt, was ein Hash-Algorithmus ist! Was ist ein Hash-Algorithmus? Ein einfacher Artikel, der erklärt, was ein Hash-Algorithmus ist! Was ist ein Hash-Algorithmus? Mar 14, 2024 am 11:46 AM

Wenn man Bitcoin-Investitionen und Blockchain-Technologie versteht, kann man sagen, dass Hash-Algorithmen häufig auftauchen. Im Währungskreis heißt es, dass Hip-Hop Hip-Hop und Algorithmen Hashes haben. Was das Wort „Algorithmus“ betrifft, so wird es derzeit von inländischen Benutzern vage verwendet. Manchmal bezieht es sich auf den Konsensmechanismus und manchmal auf den spezifischen Hash-Algorithmus. Als Blockchain-Algorithmus hat der Hash-Algorithmus schon immer die Öffentlichkeit berührt Was ist also ein Hash-Algorithmus? Als nächstes wird Ihnen der Herausgeber des Währungskreises eine einfache Erklärung geben, was ein Hash-Algorithmus ist? Ich hoffe, dass Anleger nach der Lektüre dieses Artikels den Hash-Algorithmus verstehen können. Was ist ein Hash-Algorithmus? Hash wird von „Hash“ transkribiert, auch bekannt als „Hash“. Im Wesentlichen ein Computerprogramm, das alles akzeptiert

Was bedeutet in PHP eine Hash-Funktion? Was bedeutet in PHP eine Hash-Funktion? Sep 03, 2023 am 08:49 AM

Eine Hash-Funktion ist jede Funktion, die verwendet werden kann, um Daten beliebiger Größe auf Daten fester Größe abzubilden. Der von einer Hash-Funktion zurückgegebene Wert wird Hash-Wert, Hash-Code, Digest oder einfach Hash genannt. Syntax stringhash(string$algo,string$data[,bool$raw_output=FALSE]) Parameter algo Der Name des ausgewählten Hash-Algorithmus (z. B. „md5“, „sha256“, „haval160,4“ usw.) für Daten gehashte Informationen sein. Wenn raw_output auf TRUE gesetzt ist, werden rohe Binärdaten ausgegeben. FALSE gibt hexadezimale Kleinbuchstaben aus. Beispiel<?php&nbsp

Umgang mit Hashing- und Verschlüsselungsfunktionen in Buchhaltungssystemen - Entwicklungsmethoden für Hashing und Verschlüsselung mit PHP Umgang mit Hashing- und Verschlüsselungsfunktionen in Buchhaltungssystemen - Entwicklungsmethoden für Hashing und Verschlüsselung mit PHP Sep 26, 2023 pm 01:15 PM

Umgang mit Hashing- und Verschlüsselungsfunktionen in Buchhaltungssystemen - Entwicklungsmethoden für Hashing und Verschlüsselung mit PHP Einführung: Mit dem Aufkommen des digitalen Zeitalters wird die Sicherheit verschiedener Informationssysteme immer wichtiger. Beim Entwurf und der Entwicklung von Buchhaltungssystemen ist der Schutz der Privatsphäre der Benutzer von entscheidender Bedeutung. Unter anderem kann die Verwendung von Hashing- und Verschlüsselungsfunktionen die vertraulichen Informationen der Benutzer wirksam schützen. In diesem Artikel wird die Verwendung von PHP zur Implementierung von Hashing- und Verschlüsselungsfunktionen in Buchhaltungssystemen vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Implementierung der Hash-Funktion Hash ist ein Einweg-Verschlüsselungsalgorithmus

PHP Load Balancing Diversity: Die Vor- und Nachteile verschiedener Technologien verstehen PHP Load Balancing Diversity: Die Vor- und Nachteile verschiedener Technologien verstehen Mar 02, 2024 pm 02:50 PM

Einführung In der heutigen schnelllebigen und vernetzten digitalen Welt ist die Gewährleistung einer hohen Verfügbarkeit von Anwendungen von entscheidender Bedeutung. Mithilfe der Load-Balancing-Technologie können Anwendungen den eingehenden Datenverkehr auf mehrere Server verteilen und so die Leistung und Zuverlässigkeit verbessern. PHP bietet Unterstützung für eine Reihe von Lastausgleichstechnologien, von denen jede ihre eigenen einzigartigen Vorteile und Einschränkungen hat. Round Robin Round Robin ist eine einfache und effektive Lastausgleichstechnik, die Anfragen der Reihe nach an einen Serverpool verteilt. Dieser Ansatz ist einfach zu implementieren und stellt sicher, dass Anfragen gleichmäßig auf die Server verteilt werden. $servers=array("server1","server2","server3");$index=0;while(true)

See all articles