国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 邏輯算法 > 正文

樹形算法

2024-09-08 23:18:43
字體:
供稿:網(wǎng)友
<?
//測試數(shù)據(jù)
$ar = array(
array(id=>1,pid=>0),
array(id=>2,pid=>0),
array(id=>3,pid=>2),
array(id=>4,pid=>0),
array(id=>5,pid=>3),
array(id=>6,pid=>1),
array(id=>7,pid=>1),
array(id=>8,pid=>6),
array(id=>9,pid=>7),
array(id=>10,pid=>9)
);

//排序函數(shù)
function cmd($a,$b) {
if($a[pid]==$b[pid]) return 0;
return $a[pid]>$b[pid]?1:-1;
}

//排序,為避免數(shù)據(jù)中父節(jié)點(diǎn)在子節(jié)點(diǎn)后面出現(xiàn),這種情況在多次修改數(shù)據(jù)后經(jīng)常會發(fā)生的
//排序的目的就是防止這種情況造成的混亂
uasort($ar,cmd);

//定義目標(biāo)數(shù)組
$d = array();
//定義索引數(shù)組,用于記錄節(jié)點(diǎn)在目標(biāo)數(shù)組的位置
$ind = array();

foreach($ar as $v) {
$v[child] = array(); //給每個(gè)節(jié)點(diǎn)附加一個(gè)child項(xiàng)
if($v[pid] == 0) {
$i = count($d);
$d[$i] = $v;
$ind[$v[id]] =& $d[$i];
}else {
$i = count($ind[$v[pid]][child]);
$ind[$v[pid]][child][$i] = $v;
$ind[$v[id]] =& $ind[$v[pid]][child][$i];
}
}
//檢查結(jié)果
print_r($d);
?>

算法特點(diǎn):利用b+樹概念,只用一次循環(huán)就可生成樹形數(shù)組
注冊會員,創(chuàng)建你的web開發(fā)資料庫,
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 神池县| 于都县| 互助| 邓州市| 勃利县| 庆安县| 云龙县| 南昌县| 卢龙县| 武强县| 泸溪县| 岳普湖县| 阿城市| 乌拉特前旗| 滦南县| 邢台县| 锡林郭勒盟| 满洲里市| 黔江区| 平江县| 高州市| 随州市| 禹州市| 太仓市| 黄浦区| 安远县| 浦北县| 砀山县| 曲松县| 星座| 东乡县| 玛曲县| 盱眙县| 五常市| 准格尔旗| 兴隆县| 隆昌县| 无为县| 泸西县| 辽阳县| 荥经县|