php-單鏈表

來源:互聯網
上載者:User
//單個節點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教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.