//單個節點class node {//初始設定變數,包括儲存的內容 和 下一個資料的指標public $id = 0;public $data = '';public $next = null;//建構函式,設定儲存內容的資料public function __construct($id,$nodedata){$this->id = $id;$this->data = $nodedata;}}class singleLink {public $head = '';public $size = 0;public function insert($id,$value,$prenodeid = 0){$node = new node($id,$value);//空鏈表,直接添加if ($this->size == 0){$this->head = $node;} elseif ($prenodeid == 0) {//如果不是空鏈表,且並沒有指定在某一個節點前添加//則在當前節點前添加$node->next = $this->head;$this->head = $node;} else {//在某一節點後添加新節點$cruntnode = $this->head;while($cruntnode->next != null ){if($cruntnode->next->id == $prenodeid){$node->next = $cruntnode->next;$cruntnode->next = $node;break;}$cruntnode = $cruntnode->next;}}$this->size++;return $this;}public function edit($id,$value){$flag = false;$current = $this->head;while(@$current->id !=null){if($current->id == $id){$current->data = $value;$flag = true; break;} $current = $current->next;}return $flag;}public function get($id=0){$current = $this->head;while(@$current->id !=null){if($id !=0 && $current->id==$id){$node = $current;break;} else {$node[] = array($current->id,$current->data);}$current = $current->next;}return $node;}public function sort(){}public function delete($id){$flag = false;$current = $this->head;while(@$current->id !=null){if($current->next->id == $id){$current->next = $current->next->next;$this->size--;$flag = true; break;} $current = $current->next;}return $flag;}}$linklist = new singleLink();$linklist->insert(1,'hello');$linklist->insert(2,'my');$linklist->insert(3,'love');$linklist->insert(4,'haha4');$linklist->insert(5,'haha5');$linklist->insert(6,'haha6');$linklist->insert(7,'haha7');$linklist->delete(5);$linklist->insert(8,'haha8')->insert(9,'haha9')->insert(10,'haha10')->insert(11,'haha11');var_dump($linklist);
以上就介紹了php-單鏈表,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。