php单链表实现
<span <?<span php
</span><span //</span><span 单链表</span>
<span class</span><span Hero{
</span><span public</span> <span $no</span><span ;
</span><span public</span> <span $name</span><span ;
</span><span public</span> <span $nickname</span><span ;
</span><span public</span> <span $next</span>=<span null</span><span ;
</span><span function</span> __construct(<span $no</span>='',<span $name</span>=''<span ){
</span><span $this</span>->no=<span $no</span><span ;
</span><span $this</span>->name=<span $name</span><span ;
}
}
</span><span function</span> addHero(<span $head</span>,<span $Hero</span><span ){
</span><span $cur</span>=<span $head</span><span ;
</span><span $flag</span>=<span true</span><span ;
</span><span while</span> (<span $cur</span>-><span next</span>!=<span null</span><span ) {
</span><span if</span>(<span $cur</span>-><span next</span>->no><span $Hero</span>-><span no){
</span><span $tmp</span>=<span $cur</span>-><span next</span><span ;
</span><span $cur</span>-><span next</span>=<span $Hero</span><span ;
</span><span $Hero</span>-><span next</span>=<span $tmp</span><span ;
</span><span $flag</span>=<span false</span>;<span break</span><span ;
}</span><span else</span> <span if</span>(<span $cur</span>-><span next</span>->no==<span $Hero</span>->no){<span echo</span> "该位置已有人,不允许占位";<span $flag</span>=<span false</span>;<span break</span><span ;}
</span><span else</span>{ <span $cur</span>=<span $cur</span>-><span next</span><span ;}
}
</span><span if</span>(<span $flag</span>){<span $cur</span>-><span next</span>=<span $Hero</span><span ;}
}
</span><span //</span><span 增加</span>
<span function</span> showHero(<span $head</span><span ){
</span><span $cur</span>=<span $head</span><span ;
</span><span while</span>(<span $cur</span>-><span next</span>!=<span null</span><span ){
</span><span echo</span> <span $cur</span>-><span next</span>->no.":".<span $cur</span>-><span next</span>->name."<br/>"<span ;
</span><span $cur</span>=<span $cur</span>-><span next</span><span ;
}
}
</span><span //</span><span 删除特定编号的</span>
<span function</span> delHero(<span $head</span>,<span $no</span><span ){
</span><span $cur</span>=<span $head</span><span ;
</span><span while</span>(<span $cur</span>-><span next</span>!=<span null</span><span ){
</span><span if</span>(<span $cur</span>-><span next</span>->no==<span $no</span><span )
{</span><span if</span>(<span $cur</span>-><span next</span>-><span next</span>)<span $cur</span>-><span next</span>=<span $cur</span>-><span next</span>-><span next</span><span ;
</span><span else</span> <span $cur</span>-><span next</span>=<span null</span><span ;
</span><span break</span><span ;
}
</span><span $cur</span>=<span $cur</span>-><span next</span><span ;
}
}
</span><span //</span><span 查找特定编号的信息</span>
<span function</span> findHero(<span $head</span>,<span $no</span><span ){
</span><span $cur</span>=<span $head</span><span ;
</span><span while</span>(<span $cur</span>-><span next</span>!=<span null</span><span ){
</span><span if</span>(<span $cur</span>-><span next</span>->no==<span $no</span>){<span break</span><span ;}
</span><span $cur</span>=<span $cur</span>-><span next</span><span ;
}
</span><span echo</span><span $cur</span>-><span next</span>-><span name;
}
</span><span //</span><span 改特定编号的信息</span>
<span function</span> updateHero(<span $head</span>,<span $no</span>,<span $name</span><span ){
</span><span $cur</span>=<span $head</span><span ;
</span><span while</span>(<span $cur</span>-><span next</span>!=<span null</span><span ){
</span><span if</span>(<span $cur</span>-><span next</span>->no==<span $no</span>){<span break</span><span ;}
</span><span $cur</span>=<span $cur</span>-><span next</span><span ;
}
</span><span $cur</span>-><span next</span>->name=<span $name</span><span ;
}
</span><span $head</span>=<span new</span><span Hero();
</span><span $Hero</span>=<span new</span> Hero(1,"宋江"<span );
addHero(</span><span $head</span>,<span $Hero</span><span );
</span><span $Hero</span>=<span new</span> Hero(6,"林冲"<span );
addHero(</span><span $head</span>,<span $Hero</span><span );
</span><span $Hero</span>=<span new</span> Hero(2,"吴用"<span );
addHero(</span><span $head</span>,<span $Hero</span><span );
</span><span $Hero</span>=<span new</span> Hero(4,"李逵"<span );
addHero(</span><span $head</span>,<span $Hero</span><span );
showHero(</span><span $head</span><span );
</span><span //</span><span 删除4号</span>
delHero(<span $Hero</span>,4<span );
</span><span //</span><span 查找6号</span>
findHero(<span $head</span>,6<span );
</span><span //</span><span 修改6号</span>
updateHero(<span $Hero</span>,6,"林哥哥"<span );
showHero(</span><span $head</span><span );
</span></span>?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号