PHP中的链表

发布于 2024-12-11 21:42:49 字数 283 浏览 0 评论 0原文

可能的重复:
在php中实现链表

我们可以用Java、C++制作链表,因为C++有指针在Java中可以定义像TempClass t = new TempClass();这样的对象。

如何在 PHP 中创建链表?

Possible Duplicate:
Implement linked list in php

We can make link list in Java, C++ because C++ has pointers and in Java can define objects like TempClass t = new TempClass();.

How can I make a linked list in PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故人的歌 2024-12-18 21:42:49

标准 PHP 库(SPL - 此处)提供了一些实现。除此之外 - 像 “Linked list php” 这样简单的谷歌搜索确实会给你一些可接受的结果!

The Standard PHP Library (SPL - here) offers some implementations. Besides that - googling as simple as "Linked list php" does get you some acceptable results!

花想c 2024-12-18 21:42:49

以下是如何在 PHP 中创建 LinkedList。

它与 C# 或 Java 的思想相同。

您需要定义一个 Node 类,并且需要将其包装在链表类中。

这是一个完整的示例: http://www.codediesel.com/php/ linked-list-in-php/

PHP 中的基本链表示例:

<?
class Node{
    public $data;
    public $next;
    function __construct($data){
        $this->data = $data;
        $this->next = NULL;
    }
}
class LinkedList{
    public $head;
    function __construct(){
        $this->head = NULL;
    }
    public function insert($data){
        $link = new Node($data);
        $link->next = $this->head;
        $this->head= &$link;
    }
}

$m = new LinkedList();
$m->insert(2);
$m->insert(3);
$m->insert(4);

echo $m->head->data;              //prints 4
echo $m->head->next->data;        //prints 3
echo $m->head->next->next->data;  //prints 2

?>

如何在内部描述上面发生的事情:

一个名为 Node 的新 PHP 类是使用成员变量 $data 和 $next 创建。 $data保存了链表的每个链接所包含的信息。 $next 具有列表中下一个节点的地址。

LinkedList 类包装了链接节点的集合。成员变量$head指向链表中的第一个Node。 insert 方法在内存中创建一个新节点。新节点的下一个参考点指向旧节点。然后让 head 引用新创建的节点。因此,这个链表代表一个堆栈,就像一摞书一样。

Here is how to create a LinkedList in PHP.

It is the same idea as C# or Java.

You need to have a Node class defined and you need to wrap that in a linked list class.

Here is a full example: http://www.codediesel.com/php/linked-list-in-php/

Basic Linked List example in PHP:

<?
class Node{
    public $data;
    public $next;
    function __construct($data){
        $this->data = $data;
        $this->next = NULL;
    }
}
class LinkedList{
    public $head;
    function __construct(){
        $this->head = NULL;
    }
    public function insert($data){
        $link = new Node($data);
        $link->next = $this->head;
        $this->head= &$link;
    }
}

$m = new LinkedList();
$m->insert(2);
$m->insert(3);
$m->insert(4);

echo $m->head->data;              //prints 4
echo $m->head->next->data;        //prints 3
echo $m->head->next->next->data;  //prints 2

?>

How to internally verbalize what is going on above:

A new PHP class called Node is created with member variables $data and $next. $data holds the information contained in each link of the linked list. $next has the address of the next Node in the list.

A LinkedList class wraps a collection of linked Nodes. The member variable $head points to the first Node in the linked list. The method insert creates a new Node in memory. The new node has its next reference point to the old head. Then head is made to reference the newly created node. Thus this linked list represents a stack, like a stack of books.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文