Nota Kajian PHP: Struktur Data dan Algoritma
Ikhtisar:
Struktur dan algoritma data ialah dua konsep yang sangat penting dalam sains komputer. Dalam pengaturcaraan PHP, kita selalunya perlu menggunakan pelbagai struktur data untuk menyimpan dan mengendalikan data, dan kita juga perlu menggunakan algoritma untuk melaksanakan pelbagai fungsi. Artikel ini akan memperkenalkan beberapa struktur dan algoritma data yang biasa digunakan, dan menyediakan contoh kod PHP yang sepadan.
1. Struktur linear
class Node { public $data; public $next; public function __construct($data = null) { $this->data = $data; $this->next = null; } } class LinkedList { public $head; public function __construct() { $this->head = null; } public function insert($data) { $newNode = new Node($data); if ($this->head === null) { $this->head = $newNode; } else { $currentNode = $this->head; while ($currentNode->next !== null) { $currentNode = $currentNode->next; } $currentNode->next = $newNode; } } public function display() { $currentNode = $this->head; while ($currentNode !== null) { echo $currentNode->data . " "; $currentNode = $currentNode->next; } } } $linkedList = new LinkedList(); $linkedList->insert(1); $linkedList->insert(2); $linkedList->insert(3); $linkedList->display();
class Stack { private $arr; public function __construct() { $this->arr = array(); } public function push($data) { array_push($this->arr, $data); } public function pop() { if (!$this->isEmpty()) { return array_pop($this->arr); } } public function isEmpty() { return empty($this->arr); } } $stack = new Stack(); $stack->push(1); $stack->push(2); $stack->push(3); echo $stack->pop(); // 输出 3
class Queue { private $arr; public function __construct() { $this->arr = array(); } public function enqueue($data) { array_push($this->arr, $data); } public function dequeue() { if (!$this->isEmpty()) { return array_shift($this->arr); } } public function isEmpty() { return empty($this->arr); } } $queue = new Queue(); $queue->enqueue(1); $queue->enqueue(2); $queue->enqueue(3); echo $queue->dequeue(); // 输出 1
Atas ialah kandungan terperinci Nota kajian PHP: struktur data dan algoritma. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!