說起那個無限級分類,相信很多人都知道是什麼東西,也曾經做過。我也相信,大家用得最多的實現方式就是做乙個遞迴。
最近我也要做乙個帶無限級分類的選單,但是我又不想用遞迴來做,所以我需要用其他方式來實現,那就是迭代了。
首先,我需要定義乙個實體模型,這舉乙個省市無限級的例子:
class然後寫方法,這裡需要利用到棧的後進先出的特點:loaction
public
int pid
public
string name //
地方名public
int level //
深度 }
public最後準備資料->呼叫->輸出:static listsoft(listdata, int
pid)
}if (!flag)}}
return
tree;
}
static然後效果如下:void main(string
args)
);data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
data.add(
new loaction() );
var tree = soft(data, 0
);
foreach (var t in
tree)
console.writeline(sb.tostring());
}console.readkey();
}
就是這個樣子。。。。。(end)
PHP迭代與遞迴實現無限級分類
無限級分類是開發中常見的情況,因此本文對常見的無限極分類演算法進行總結歸納.1.迴圈迭代實現 arr 1 id 1,name 父1 father null 2 id 2,name 父2 father null 3 id 3,name 父3 father null 4 id 4,name 兒1 1 f...
PHP迭代與遞迴實現無限級分類
無限級分類是開發中常見的情況,因此本文對常見的無限極分類演算法進行總結歸納.1 arr 2 1 id 1,name 父1 father null 3 2 id 2,name 父2 father null 4 3 id 3,name 父3 father null 5 4 id 4,name 兒1 1 ...
無限級分類的實現
在我們做 的時候,不管是新聞系統還是產品系統,或者是部落格,論壇等等,都少不了與分類打交道。有時候我們經常說分幾級分類,一般分2 3級,具體視情況而定,但是這樣的做法非常死板,不夠靈活,因為不是任何類別下的分類都有子類,孫類 為了能夠使分類靈活,我們經常採用的是無限級分類。無限級分類主要思路有兩種 ...