Maison >développement back-end >tutoriel php >Structure des données PHP : la danse des piles et des files d'attente, comprenez les mystères du stockage et de la récupération

Structure des données PHP : la danse des piles et des files d'attente, comprenez les mystères du stockage et de la récupération

WBOY
WBOYoriginal
2024-05-31 20:00:591076parcourir

La pile suit le dernier entré, premier sorti (LIFO) et les éléments placés en dernier sont pris en premier. La file d'attente suit le premier entré, premier sorti (FIFO) et les éléments placés en premier sont pris en premier. Les piles peuvent être utilisées pour les algorithmes de backtracking, tandis que les files d'attente peuvent être utilisées pour les files d'attente de tâches.

Structure des données PHP : la danse des piles et des files dattente, comprenez les mystères du stockage et de la récupération

Structures de données PHP : la danse des piles et des files d'attente, comprenez les mystères du stockage et de la récupération

Les structures de données sont le fondement de l'informatique et définissent la manière dont les données sont organisées et stockées dans la mémoire de l'ordinateur. Aujourd'hui, nous allons approfondir deux structures de données fondamentales qui jouent un rôle crucial dans les applications du monde réel : les piles et les files d'attente.

Pile : Dernier entré, premier sorti (LIFO)

La pile est comme un ressort lorsque vous y mettez quelque chose, le dernier élément introduit sera le premier élément retiré. Cette fonctionnalité est appelée dernier entré, premier sorti (LIFO).

Pile d'implémentation :

class Stack {
    private $items = [];

    public function push($item) {
        array_push($items, $item);
    }

    public function pop() {
        return array_pop($items);
    }

    public function isEmpty() {
        return empty($items);
    }
}

// 创建并操作栈
$stack = new Stack();
$stack->push('A');
$stack->push('B');
echo $stack->pop(); // 输出 'B'
echo $stack->pop(); // 输出 'A'

File d'attente : premier entré, premier sorti (FIFO)

La file d'attente est comme une file d'attente, les personnes qui s'y trouvent sont servies en premier, premier arrivé. Cette fonctionnalité est appelée premier entré, premier sorti (FIFO).

File d'attente d'implémentation :

class Queue {
    private $items = [];

    public function enqueue($item) {
        array_push($items, $item);
    }

    public function dequeue() {
        if (empty($items)) {
            return null;
        }
        return array_shift($items);
    }

    public function isEmpty() {
        return empty($items);
    }
}

// 创建并操作队列
$queue = new Queue();
$queue->enqueue('A');
$queue->enqueue('B');
echo $queue->dequeue(); // 输出 'A'
echo $queue->dequeue(); // 输出 'B'

Cas pratique :

  • Stack : La pile est utilisée dans l'algorithme de backtracking pour stocker les appels de fonction afin qu'ils puissent être renvoyés en cas de besoin.
  • File d'attente : Les files d'attente sont utilisées dans les files d'attente de tâches pour stocker les tâches en attente de traitement et sont traitées une par une dans l'ordre premier entré, premier sorti.

En comprenant les structures de données des piles et des files d'attente, vous pouvez créer des méthodes efficaces de stockage et de récupération de données. La maîtrise de ces principes fondamentaux vous aidera à résoudre des besoins complexes de stockage et de récupération lorsque vous travaillez sur diverses applications du monde réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn