ホームページ > バックエンド開発 > PHPチュートリアル > PHP での循環リンク リスト関数の簡単な実装例

PHP での循環リンク リスト関数の簡単な実装例

*文
リリース: 2023-03-18 08:38:02
オリジナル
1547 人が閲覧しました

この記事では、主に PHP での循環リンク リスト関数の簡単な実装を紹介し、循環リンク リストの概念と機能を簡単に説明し、例の形で循環リンク リストを使用するための PHP 定義と関連する操作スキルを分析します。必要な友人は、次の概要を参照してください:

循環リンク リストは、リンク ストレージ構造の別の形式です。その特徴は、リストの最後のノードのポインタ フィールドが先頭のノードを指しており、リンクされたリスト全体がリングを形成していることです。

以下に示すように:

PHP での循環リンク リスト関数の簡単な実装例


実装コード:

<?php
class node{
  public $data;
  public $link;
  public function __construct($data=null,$link=null){
    $this->data=$data;
    $this->link=$link;
  }
}
class cycleLinkList{
  public $head;
  public function __construct($data,$link=null){
    $this->head=new node($data,$link);
    $this->head->link=$this->head;
  }
  public function insertLink($data){
    $p=new node($data);
    $q=$this->head->link;
    $r=$this->head;
    if($q==$r)
    {
      $q->link=$p;
      $p->link=$q;
      return;
    }
    while($q!=$this->head){
      $r=$q;$q=$q->link;
    }
    $r->link=$p;
    $p->link=$this->head;
  }
}
$linklist=new cycleLinkList(1);
for($i=2;$i<11;$i++){
   $linklist->insertLink($i);
}
$q=$linklist->head->link;
echo $linklist->head->data;
while($q!=$linklist->head){
  echo $q->data;
  $q=$q->link;
}
echo "<br>--------------------------<br>";
$p=$linklist->head;
$r=$p;
$n=10;
$i=2;
while($n)
{
    while(0!=$i){
    $r=$p;$p=$p->link;
    $i--;
    }
    echo $p->data;
    $r->link=$p->link;
    $tmp=$p;
    $p=$p->link;
    unset($tmp);
    $n--;
    $i=2;
}
ログイン後にコピー


実行結果:

12345678910
--------------------------
36927185104
ログイン後にコピー


関連記事:

で世代を達成する方法PHP ぼやけた写真

PHP のソケットプッシュ技術の詳細な説明

PHP はどのようにして大文字と小文字の変換を実現するのでしょうか?

以上がPHP での循環リンク リスト関数の簡単な実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート