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

2022-02-25 23:14:55 字數 886 閱讀 1898

物件屬性

public

class

reslist

public listchild = null

;

public

int parent

public

int rank

}

資料就是那種有父級id的那種

1             listreslist = new list();//

新的資料

2 listalllist = new list();//

原始資料3//

載入原始資料

4for (int i = 1; i < 10000; i++)511

12 alllist.add(new reslist() );13}

14//

載入原始資料完成

1516

17//

下面是處理方法

18 dictionary dic = new dictionary();

1920

foreach (reslist res in

alllist)

2125

foreach (reslist res in

dic.values)

2633

dic[res.parent].child.add(res);34}

35}36//

得到最終的資料list

37 reslist = dic.values.where(t => t.parent == 1).tolist();

該方法**  

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

1.首先資料結構必須是這樣的,資料架構中帶上parentid 才可以實現層級查詢。也可以把父級id 改為子級id 也就是 下一級的id 但是 子級資料多的話資料會有缺陷,可以根據自己的需求來調整 public class menu 2.首先 書寫,準備呼叫層級遞迴的函式,根據userid獲取使用者的...

MySQL 無限層級資料表設計

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

MySQL MySQL層級資料的遞迴遍歷

層級的業務資料在系統中很常見,如組織機構 商品品類等。如果要獲取層級資料的全路徑,除了快取起來,就是遞迴訪問的方式了 將層級資料快取在redis中,用redis遞迴獲取層級結構。此方法效率高。在mysql中做遞迴遍歷,oracle有遞迴的語法支援,而mysql並沒有 需要自己寫函式去遞迴。此方法效率...