-
Notifications
You must be signed in to change notification settings - Fork 35
M_CodeJam_Collections_EnumerableExtensions_TopoSort__2_1
Andrew Koryavchenko edited this page Jun 17, 2018
·
10 revisions
EnumerableExtensions.TopoSort(T, TKey) Method (ICollection(T), Func(T, IEnumerable(T)), Func(T, TKey), IEqualityComparer(TKey))
Performs topological sort on source.
Namespace: CodeJam.Collections
Assembly: CodeJam (in CodeJam.dll) Version: 2.1.0.0
C#
public static IEnumerable<T> TopoSort<T, TKey>(
this ICollection<T> source,
Func<T, IEnumerable<T>> dependsOnGetter,
Func<T, TKey> keySelector,
IEqualityComparer<TKey> keyComparer
)
VB
<ExtensionAttribute>
Public Shared Function TopoSort(Of T, TKey) (
source As ICollection(Of T),
dependsOnGetter As Func(Of T, IEnumerable(Of T)),
keySelector As Func(Of T, TKey),
keyComparer As IEqualityComparer(Of TKey)
) As IEnumerable(Of T)
F#
[<ExtensionAttribute>]
static member TopoSort :
source : ICollection<'T> *
dependsOnGetter : Func<'T, IEnumerable<'T>> *
keySelector : Func<'T, 'TKey> *
keyComparer : IEqualityComparer<'TKey> -> IEnumerable<'T>
- source
- Type: System.Collections.Generic.ICollection(T)
Collection to sort. - dependsOnGetter
- Type: System.Func(T, IEnumerable(T))
Function that returns items dependent on specified item. - keySelector
- Type: System.Func(T, TKey)
Function that returns an item key, wich is used to compare. - keyComparer
- Type: System.Collections.Generic.IEqualityComparer(TKey)
Equality comparer for item comparison
- T
- [Missing documentation for "M:CodeJam.Collections.EnumerableExtensions.TopoSort
2(System.Collections.Generic.ICollection{
0},System.Func{0,System.Collections.Generic.IEnumerable{
0}},System.Func{0,
1},System.Collections.Generic.IEqualityComparer{1})"\]</dd><dt>TKey</dt><dd>\[Missing <typeparam name="TKey"/> documentation for "M:CodeJam.Collections.EnumerableExtensions.TopoSort
2(System.Collections.Generic.ICollection{0},System.Func{
0,System.Collections.Generic.IEnumerable{0}},System.Func{
0,1},System.Collections.Generic.IEqualityComparer{
1})"]
Type: IEnumerable(T)
Topologically sorted list of items in source.
In Visual Basic and C#, you can call this method as an instance method on any object of type ICollection(T). When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
EnumerableExtensions Class
TopoSort Overload
CodeJam.Collections Namespace