模拟链表:
PHP;">
/**
- 编号
- @var int
*/
public $id = 0;
/*
- 引用下一个对象
*/
public $next = null;
/**
- 构造函数初始化数据
- @param int $id
- @param string $name
*/
public function __construct($id = 0,$name = '') {
$this->name = $name;
$this->id = $id;
}
/**
- 遍历链表
*/
public static function echo_link_list($head) {
$curr = $head;
while ($curr->next != null) {
echo '姓名:'.$curr->next->name,' 编号:'.$curr->next->id;
echo '
';
$curr = $curr->next;
}
}
/**
- 添加新节点
*/
public static function add($head,$id,$name) {
$curr = $head;
$obj = new linkList($id,$name);
while ($curr->next != null) {
// 如果当前ID < 下一个ID,则添加到中间,添加节点到指定顺序位置
if ($curr->next->id > $id) {
$obj->next = $curr->next;
$curr->next = $obj;
return true;
} else if ($curr->next->id == $id) {
echo '当前Id:'.$id.'重复了,请不要继续<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>了!';
echo '<br>';
return false;
}
$curr = $curr->next;
}
// <a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>节点到尾部
if ($curr->next == null) {
$curr->next = $obj;
}
}
/**
- 删除节点
*/
public static function del($head,$id) {
$curr = $head;
while($curr->next != null) {
if ($curr->next->id == $id) {
$curr->next = $curr->next->next;
return true;
}
$curr = $curr->next;
}
}
/**
- 修改节点
*/
public static function edit($head,$new_name) {
$curr = $head;
while($curr->next != null) {
if ($curr->next->id == $id) {
$curr->next->name = $new_name;
}
$curr = $curr->next;
}
}
}
$head = new linkList();
linkList::add($head,1,'wangdk');
linkList::add($head,2,'sunshuzhen');
linkList::add($head,8,'wanghaha');
linkList::add($head,6,'wangchufen');
linkList::add($head,3,'wangdaye');
linkList::del($head,1);
linkList::edit($head,'hahaha');
linkList::echo_link_list($head);
?>
链表的增删查改:
PHP;">
/**
原文链接:https://www.f2er.com/php/20315.html- 编号
- @var int
*/
public $id = 0;
/*
- 引用下一个对象
*/
public $next = null;
/**
- 构造函数初始化数据
- @param int $id
- @param string $name
*/
public function __construct($id = 0,'hahaha');
linkList::echo_link_list($head);
?>