私はずっとデータ構造を見てきましたが、使ったことはありませんでした。インターネットでPHPのデータ構造を見て、それを勉強して、みんなに共有しました。前回はリンク リストについて共有しましたが、今回は二重リンク リストについて少し追加します。 コードをカットせずに短くコピー no=$no; $this->name=$name; } static public function addHero($head,$hero) { $cur = $head=false; list 空か if($cur->next==null) { $cur->next=$hero; $hero->pre=$cur; // 空のノードでない場合、名前を配置します。 Add //追加された位置を検索します while($cur->next!=null) { if($cur->next->no > $hero->no) { Break; ($cur ->next->no == $hero->no) { $isExist=true;
同じ番号は追加できません"; } $cur=$cur->next; } if(!$isExist) { if($cur->next!=null) { $hero->next=$cur - >next; } $hero->pre=$cur; if($cur->next!=null) { $hero->next->pre=$hero; = $hero; } } } //トラバース static public function showHero($head) { $cur=$head; while($cur->next!=null) { echo "番号:「.$cur->next->no.」 名前:「.$cur->next->name; $cur=$cur->next; } } static public function delHero($ head,$herono) { $cur=$head; $isFind=false; while($cur!=null) { if($cur->no==$herono) { $isFind=true; $cur=$cur->next; } if($isFind) { if($cur->next!=null) { $cur->next_pre=$cur->pre; を続けます。 - >前>次=$cur->次 } else { echo "
;
ターゲットが見つかりません"; } } } $head = 新しいヒーロー(); $hero1 = 新しいヒーロー(1,'1111'); $hero3 = 新しいヒーロー(3,'3333'); $hero2 = 新しいヒーロー(2) ,'2222'); ヒーロー::addHero($head,$hero3); ヒーロー::showHero($head) ; ヒーロー::delHero($head,2); >