C 根據Id和ParentId生成樹

2021-10-03 07:50:09 字數 2330 閱讀 8789

資料如下:

list nodes =

newlist

<

node

>()

;nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);

現在需要根據id和parentid的從屬關係生成一棵json樹,以便供前端**控制項呼叫,樹結構如下所示:

[

, ,

],"id": 3,

"parentid": 2,

"name": "杭州市"},,

,],

"id": 4,

"parentid": 2,

"name": "湖州市"}],

"id": 2,

"parentid": 1,

"name": "浙江省"}],

"id": 1,

"parentid": 0,

"name": "中國"

}]

**如下所示:

using system;

using system.collections.generic;

using system.configuration;

using system.data;

using system.data.sqlclient;

using system.linq;

using system.text;

using system.threading.tasks;

using newtonsoft.json;);

nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);nodes.

add(

newnode()

);list list =

createtreenodes

(nodes)

; console.

writeline

(jsonconvert.

serializeobject

(list, formatting.indented));

console.

readkey

(true);

}// 生成樹

static list

createtreenodes

(list nodes)

// 遞迴分組

static list

sortnodes

(list nodes, list root)

return root;}}

public

class

node

///

/// 上一級編號

///

public

int parentid

///

/// 名稱

///

public

string name

///

/// 子節點

///

public list children;

}}

分割函式和根據Id串返回名字

需求 函式傳入乙個字串引數 例如 123 456 將這個字串123 456拆成兩個值 123 456,在通過兩個值分別查出資料 例如 張三 李四 拼接成 張三 李四 宣告變數 drop type str split create orreplace type str split is table o...

get和load方式是根據id取得乙個記錄

get和load方式是根據id取得乙個記錄 下邊詳細說一下get和load的不同,因為有些時候為了對比也會把find加進來。1.從返回結果上對比 load方式檢索不到的話會丟擲org.hibernate.objectnotfoundexception異常 get方法檢索不到的話會返回null 2.從...

C4 5和ID3的差別

決策樹分為兩大類 分類樹和回歸樹,前者用於分類標籤值,後者用於 連續值,常用演算法有id3 c4.5 cart等。資訊量 資訊熵 當計算出各個特徵屬性的量化純度值後使用資訊增益度來選擇出當前資料集的分割特徵屬性 如果資訊增益度的值越大,表示在該特徵屬性上會損失的純度越大 那麼該屬性就越應該在決策樹的...