class singlelink
//輸出單鏈表
public function showlink($head)
}//增加節點
public function addlink($head, $id, $name)
$current = $current->next;
}$link->next = $current->next; //插入節點
$current->next = $link;
}//刪除節點
public function dellink($head, $id)
$current = $current->next;
}$current->next = $current->next->next;
}//修改節點
public function updatelink($head, $id, $name)
$current = $current->next;
}$current->next->name = $name;
}//根據id查詢name
public function getname($head, $id)
$current = $current->next;
}echo $current->next->name."
"; }
}//初始化單鏈表
$single = new singlelink();
echo "-----------新增節點1-----------
";$single->addlink($single,1,'路飛');
$single->addlink($single,7,'鳴人');
$single->addlink($single,3,'柯南');
$single->addlink($single,6,'孫悟空');
$single->showlink($single);
echo "-----------查詢節點3的名稱-----------
";$single->getname($single,3);
echo "-----------修改節點7-----------
";$single->updatelink($single,7,"漩渦鳴人");
$single->showlink($single);
echo "--------------刪除節點6---------------
1、一群人($sum)圍在一起坐成環狀
2、從某個編號($start)開始報數
3、數到某個數($num)的時候,此人出列,下乙個人重新報數
4、一直迴圈,直到所有人出列,約瑟夫環結束
class circlelink
public function joseph($sum, $num, $start)
else
}$pre = $this->head;
while ($pre->next != $this->head)
if ($start != null)
}while ($pre != $this->head)
echo "出隊的數為:".$this->head->id."
"; $pre->next = $this->head->next;
$this->head = $this->head->next;
}echo "最後留下的數為:".$this->head->id;
任務二 鍊錶學習 環形鍊錶 反轉單鏈表
鍊錶 linked list 是由一組被稱為結點的資料元素組成的資料結構,每個結點都包含結點本身的資訊和指向下乙個結點的位址。由於每個結點都包含了可以鏈結起來的位址資訊,所以用乙個變數就能夠訪問整個結點序列。也就是說,結點包含兩部分資訊 一部分用於儲存資料元素的值,稱為資訊域 另一部分用於儲存下乙個...
鍊錶的實現 單鏈表 雙鏈表
鍊錶知識的引入 對於之前我們接觸到的陣列知識,要想儲存多個物件,首先想到的一定是物件陣列。但是陣列是乙個長度固定的線性結構,一旦內容不足或者過多,都會在成記憶體資源的浪費,由此引入鍊錶充分解決資源浪費問題。class node private屬性需要設定getter setter方法 public ...
Java實現單鏈表 多鍊錶
如果讓你儲存多個物件,你第一時間想到的肯定是陣列,但是如果讓你儲存多個任意物件呢?這時我們會想到用object型的陣列來解決。object data new object 3 但是陣列是乙個長度固定的線性結構,在實際開發中,不論我們的內容不足或過多,都有可能造成空間的浪費,所以我們可以使用乙個鍊錶來...