C++はポインタを持っており、JavaでTempClass t = new TempClass();
のようなオブジェクトを定義することができますので、私たちは、Java、C++でリンクリストを作ることができます。
PHPでリンクリストを作成するにはどうすればよいですか?
C++はポインタを持っており、JavaでTempClass t = new TempClass();
のようなオブジェクトを定義することができますので、私たちは、Java、C++でリンクリストを作ることができます。
PHPでリンクリストを作成するにはどうすればよいですか?
標準PHPライブラリ(SPL-here)はいくつかの実装を提供しています。それ以外にも、"リンクされたリストphp"のような簡単なグーグルグーグルでは、満足のいく結果が得られます!
ここに、PHPでLinkedListを作成する方法を示します。
C#またはJavaと同じ考えです。
Nodeクラスを定義し、リンクリストクラスでそのクラスをラップする必要があります。 PHPでhttp://www.codediesel.com/php/linked-list-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
?>
内部の上で何が起こっているかを言葉で表現する方法:
新しいPHP Nodeという名前のクラスがメンバー変数$ dataと$ nextで作成されます。 $ dataは、リンクリストの各リンクに含まれる情報を保持します。 $ nextは、リスト内の次のノードのアドレスを持ちます。
LinkedListクラスは、リンクされたノードのコレクションをラップします。メンバー変数$ headは、リンクされたリストの最初のノードを指します。メソッドinsertは新しいNodeをメモリに作成します。新しいノードは、古いヘッドへの次の参照点を有する。次に、新しく作成されたノードを参照するようにヘッドが作られます。したがって、このリンクされたリストは、書籍のスタックのようなスタックを表します。
私は "Linked list PHP"のgoogle検索を行い、最初のヒットはこのページです。 Linked list PHPのgoogle検索をするように教えてください。私はあなたがそこで何をしたかを見て、それをやめてください。 "google it" - 必要に応じて質問者のために - stackoverflowを歓迎していない、yahooの回答とexpert-exchange.comにそれらの種類の回答を追加してください。 –