php链表
之前在博客园搜索发现没有用php实现的链表,在百度也几乎没有!所以在这把代码贴上来!
这段代码我认为有些缺陷,是什么呢?就是类型的约束不够严格!php本身是弱类型的语言!
所以在这一块有些迷茫了!忘指点!本人系新手!
下面是代码
节点类
<p class="sycode"> class Node{ private $Data; // 节点数据 private $Next; // 下一节点 public function setData($value){ $ this -> Data = $value; } public function setNext($value){ $ this -> Next = $value; } public function getData(){ return $ this -> Data; } public function getNext(){ return $ this -> Next; } public function __construct($data,$next){ $ this -> setData($data); $ this -> setNext($next); } } </p>
功能类
<p class="sycode"> class LinkList{ private $header; // 头节点 private $size; // 长度 public function getSize(){ $i = 0 ; $node = $ this -> header; while ($node -> getNext() != null ) { $i ++ ; $node = $node -> getNext(); } return $i; } public function setHeader($value){ $ this -> header = $value; } public function getHeader(){ return $ this -> header; } public function __construct(){ header( " content-type:text/html; charset=utf-8 " ); $ this -> setHeader( new Node( null , null )); } /* * *@author MzXy *@param $data--要添加节点的数据 * */ public function add($data) { $node = $ this -> header; while ($node -> getNext() != null ) { $node = $node -> getNext(); } $node -> setNext( new Node($data, null )); } /* * *@author MzXy *@param $data--要移除节点的数据 * */ public function removeAt($data) { $node = $ this -> header; while ($node -> getData() != $data) { $node = $node -> getNext(); } $node -> setNext($node -> getNext()); $node -> setData($node -> getNext() -> getData()); } /* * *@author MzXy *@param 遍历 * */ public function get () { $node = $ this -> header; if ($node -> getNext() == null ){ print( " 数据集为空! " ); return ; } while ($node -> getNext() != null ) { print($node -> getNext() -> getData()); if ($node -> getNext() -> getNext() == null ){ break ;} $node = $node -> getNext(); } } /* * *@author MzXy *@param $data--要访问的节点的数据 * @param 此方法只是演示不具有实际意义 * */ public function getAt($data) { $node = $ this -> header -> getNext(); if ($node -> getNext() == null ){ print( " 数据集为空! " ); return ; } while ($node -> getData() != $data) { if ($node -> getNext() == null ){ break ;} $node = $node -> getNext(); } return $node -> getData(); } /* * *@author MzXy *@param $value--需要更新的节点的原数据 --$initial---更新后的数据 * */ public function update($initial,$value) { $node = $ this -> header -> getNext(); if ($node -> getNext() == null ){ print( " 数据集为空! " ); return ; } while ($node -> getData() != $data) { if ($node -> getNext() == null ){ break ;} $node = $node -> getNext(); } $node -> setData($initial); } } </p>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Alipay Php ...

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.
