F#の基本リストタイプはすでに多少リンクリストです。 あなたは簡単に、単純な労働組合の種類とリンクリスト再作成することができますが:
type LinkedList<'t> = Node of 't * LinkedList<'t> | End
をノードが値と次のノードへのポインタを持っているか、終了することができます。あなたは、単に手で新しいリストを作ることができ :
Node(1, Node(2, Node(3, End))) //LinkedList<int> = Node (1,Node (2,Node (3,End)))
それともそれをF#のリストを供給することによって、新たなリンクリストを作る:
let rec toLinkedList = function
| [] -> End
| x::xs -> Node (x, (toLinkedList xs))
それを介して歩く:
let rec walk = function
| End -> printfn "%s" "End"
| Node(value, list) -> printfn "%A" value; walk list
同様の概念がツリー構造にも適用されます。 ツリーは、F#Wikibookは、F#でデータ構造にgood articleを持って
type Tree<'leaf,'node> =
| Leaf of 'leaf
| Node of 'node * Tree<'leaf,'node> list
ようになります。
あなたはF#を学ぶことに決めたと聞いてうれしいです。しかし、霧のような質問のためのより良い場所ではありません。 –
[F#Slack Team](http://fsharp.org/guides/slack/)に参加することを強くお勧めします。また、[F#on SO](http://chat.stackoverflow.com)でそのような質問をすることもできます/ rooms/51909/f) –