Maison  >  Article  >  développement back-end  >  Modèles de conception de structure de données PHP orientés objet

Modèles de conception de structure de données PHP orientés objet

WBOY
WBOYoriginal
2024-05-08 08:57:02529parcourir

En POO PHP, il existe les modèles de conception de structure de données suivants : mode tableau : représente une séquence ordonnée d'éléments ; mode liste chaînée : représente une séquence ordonnée d'éléments extensible ; mode pile : représente une séquence d'éléments dernier entré, premier sorti ; éléments ; mode file d'attente : représente une séquence premier entré, premier sorti. Produit une séquence d'éléments ; mode arbre : représente une structure hiérarchique : représente une structure avec des nœuds et des limites.

面向对象的 PHP 数据结构设计模式

Modèles de conception de structure de données PHP orientés objet

Introduction

Dans la programmation orientée objet (POO), les modèles de conception fournissent une solution réutilisable et maintenable aux problèmes courants Question de programmation. Cet article explorera certains modèles de conception de structure de données couramment utilisés en POO PHP et leurs cas pratiques.

Array Pattern

Le modèle de tableau est un modèle de conception simple utilisé pour représenter une série d'éléments disposés séquentiellement. En PHP, vous pouvez créer des tableaux à l'aide de la fonction intégrée array. array 內建函數來創建陣列。

// 創建一個陣列
$my_array = ['apple', 'banana', 'cherry'];

// 訪問陣列元素
echo $my_array[0]; // 會輸出 "apple"

連結串列模式

連結串列模式用於表示一系列順序排列且可以增長或縮小的元素。在 PHP 中,可以使用 LinkedList 類或 SplDoublyLinkedList 類來實現連結串列。

// 使用 LinkedList 類創建連結串列
$my_list = new LinkedList();
$my_list->add('apple');
$my_list->add('banana');

// 訪問連結串列元素
echo $my_list->get(0); // 會輸出 "apple"

堆疊模式

堆疊模式用於表示一系列後進先出 (LIFO) 的元素。在 PHP 中,可以使用 SplStack 類來實現堆疊。

// 創建一個堆疊
$my_stack = new SplStack();
$my_stack->push('apple');
$my_stack->push('banana');

// 從堆疊中彈出元素
echo $my_stack->pop(); // 會輸出 "banana"

佇列模式

佇列模式用於表示一系列先進先出 (FIFO) 的元素。在 PHP 中,可以使用 SplQueue

// 創建一個佇列
$my_queue = new SplQueue();
$my_queue->enqueue('apple');
$my_queue->enqueue('banana');

// 從佇列中出列元素
echo $my_queue->dequeue(); // 會輸出 "apple"

Mode série concaténée

Le mode série concaténée est utilisé pour représenter une série d'éléments qui sont disposés dans l'ordre et peuvent croître ou rétrécir. En PHP, les listes de liens peuvent être implémentées à l'aide de la classe LinkedList ou de la classe SplDoublyLinkedList.

// 使用巢狀陣列表示樹狀結構
$my_tree = [
    'apple' => [
        'red_apple',
        'green_apple'
    ],
    'banana' => [
        'yellow_banana',
        'green_banana'
    ]
];

// 使用物件表示樹狀結構
class Node {
    public $value;
    public $children = [];

    public function __construct($value) {
        $this->value = $value;
    }

    public function addChild($node) {
        $this->children[] = $node;
    }
}

// 使用物件建立樹狀結構
$my_tree = new Node('fruits');
$my_tree->addChild(new Node('apple'));
$my_tree->addChild(new Node('banana'));

Mode d'empilage

Le mode d'empilage est utilisé pour représenter une série d'éléments dernier entré, premier sorti (LIFO). En PHP, l'empilement peut être implémenté à l'aide de la classe SplStack.

// 使用陣列表示圖形
$my_graph = [
    'A' => ['B', 'C'],
    'B' => ['D', 'E'],
    'C' => ['F'],
    'D' => [],
    'E' => [],
    'F' => []
];

// 使用物件表示圖形
class Vertex {
    public $value;
    public $edges = [];

    public function __construct($value) {
        $this->value = $value;
    }

    public function addEdge($vertex) {
        $this->edges[] = $vertex;
    }
}

// 使用物件建立圖形
$my_graph = new Vertex('A');
$my_graph->addEdge(new Vertex('B'));
$my_graph->addEdge(new Vertex('C'));

🎜Mode file d'attente🎜🎜🎜Le mode file d'attente est utilisé pour représenter une série d'éléments premier entré, premier sorti (FIFO). En PHP, vous pouvez utiliser la classe SplQueue pour implémenter une file d'attente. 🎜rrreee🎜🎜Mode arbre🎜🎜🎜Le mode arbre est utilisé pour représenter des données avec une structure hiérarchique. En PHP, vous pouvez utiliser des tableaux ou des objets imbriqués pour implémenter des arborescences. 🎜rrreee🎜🎜Mode Graphique🎜🎜🎜Le mode Graphique est utilisé pour représenter des structures graphiques avec des nœuds et des arêtes. En PHP, les graphiques peuvent être implémentés à l'aide de tableaux ou d'objets. 🎜rrreee

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