用迭代實現無限級分類

2022-01-17 10:21:17 字數 1550 閱讀 7026

說起那個無限級分類,相信很多人都知道是什麼東西,也曾經做過。我也相信,大家用得最多的實現方式就是做乙個遞迴。

最近我也要做乙個帶無限級分類的選單,但是我又不想用遞迴來做,所以我需要用其他方式來實現,那就是迭代了。

首先,我需要定義乙個實體模型,這舉乙個省市無限級的例子:

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級,具體視情況而定,但是這樣的做法非常死板,不夠靈活,因為不是任何類別下的分類都有子類,孫類 為了能夠使分類靈活,我們經常採用的是無限級分類。無限級分類主要思路有兩種 ...