很久没用php了,为了加深数据结构的基本知识(为考试准备),练习一下基本的算法,当然还是为了以后使用php做菜单的时候免得麻烦。
算法:数据结构中的最基本的树与二叉树的转换
大家凑合着看吧!因为只是为了熟悉一下算法,没有做具体的测试,同时对数据库的操作没有封装成类,大家如果需要可以自行修改或者和我联系!
Your data must save like this:
id,topic,child_l,parent,child_r,content
file name:
show.inc.php
codes:
==================================================
<?
class shows{
var $items;
var $the_stack;
var $count=0;
function find($l_value) {
for($j=1;$j<=$this->items["info_all"];$j++) {
if($l_value==$this->items["d_id][$j]"])
{ return($j);exit; }
}
}
function m_l_r_list($i) {
if(($this->items["f_node][$i]"]==0)&&($this->items["r_node][$i]"]==0)&&($this->items["l_node][$i]"]!=-1))
{//if it is root node!!!
echo "<table><tr><td>";
echo "<img id=image".$i." src=http://www.163design.net/"c.gif\" onclick=outliner() style=\"cursor:hand\" child=\"".$i."ALL\" NAME=\"NAME_".$i."ALL\">";
echo "<a href=\"".$this->pages_0($this->items["d_id][$i]"])."?d_id=".$this->items["d_id][$i]"]."\" target=\"rightFrame\">".$this->items["node_value][$i]"]."</a>";
echo " <a href=addnode.php?id=".$this->items["d_id][$i]"]." target=\"rightFrame\"><font size=2 color=red>Add</font></a>";
echo "</td></tr></table>";
echo "<div class=collapsed id=".$i."ALL>";
$i=$this->find($this->items["l_node][$i]"]);
$this->count=$this->count+2;
$this->m_l_r_list($i);
exit;
}
if(($this->items["f_node][$i]"]==0)&&($this->items["r_node][$i]"]==0)&&($this->items["l_node][$i]"]==-1))
{
exit;
}
if(($this->items["f_node][$i]"]!=0)&&($this->items["r_node][$i]"]!=0)&&($th