無限級遞迴演算法 使用多種層級資料

2021-10-08 11:57:06 字數 1126 閱讀 3605

1.首先資料結構必須是這樣的,資料架構中帶上parentid 才可以實現層級查詢。

也可以把父級id 改為子級id 也就是 下一級的id 但是 子級資料多的話資料會有缺陷,可以根據自己的需求來調整;

public

class

menu

2.首先 書寫,準備呼叫層級遞迴的函式,

/// 

/// 根據userid獲取使用者的分享層級人數 遞迴 方法一

///

///

public

string

getusershares()

).tolist()

;//查詢出來所有的根目錄級的分享資料。

var lis= caseinteractionservice.

usersharelist()

.where

(n=>n.pid==

"0")

.select

(n =

>

newusershareview).

tolist()

;//迴圈所有根目錄的分享資料,呼叫遞迴,去查詢所有根目錄下的子級分享資料(遞迴也是通過父級id去定位查詢的)

foreach

(var item in lis)

var result1 = jsonconvert.

serializeobject

(lis)

;return result1;

}

查詢子級遞迴方法

/// 

/// 獲取子節點

///

///

///

///

public list

getchild

(string id, list allmenu)

}//遞迴

foreach

(var obj in childlist)

if(childlist.

count()

==0)return childlist;

}

C 不用遞迴,獲取無限層級資料

物件屬性 public class reslist public listchild null public int parent public int rank 資料就是那種有父級id的那種 1 listreslist new list 新的資料 2 listalllist new list 原始...

SQL Server 儲存層級資料實現無限級分類

sql server 儲存層級資料實現無限級分類 由於資料庫儲存的資料都是以平面方式儲存,所以目前大部分論壇和其他程式都是用遞迴來展現層次資料的,如果分類的層次十分深的話那麼使用的遞迴次數相當可觀,對效能的影響也非常大。最近要做乙個分類資訊的平台就遇到這個問題了,那麼如何實現快速的展現分層資料呢?m...

MySQL 無限層級資料表設計

需求 使用者a介紹b入會,b成為a的下線,b再發展c d等下線,c d也允許發展下線,不限制層級,但是每個人只允許有乙個上線 類似 傳銷 典型的樹結構 問題 快速查詢某人的所有上線 快速查詢某人的所有下線 快速為某人增加乙個下線 方案有以下四種,各自的定義和利弊請看 前輩的文件 一 鄰接表 依賴父節...