Skip to content

M_CodeJam_Collections_EnumerableExtensions_GroupTopoSort__1_2

Andrew Koryavchenko edited this page Jun 17, 2018 · 5 revisions

EnumerableExtensions.GroupTopoSort(T) Method (IEnumerable(T), Func(T, IEnumerable(T)))

Performs topological sort on source.

Namespace: CodeJam.Collections
Assembly: CodeJam (in CodeJam.dll) Version: 2.1.0.0

Syntax

C#

public static IEnumerable<T[]> GroupTopoSort<T>(
	this IEnumerable<T> source,
	Func<T, IEnumerable<T>> dependsOnGetter
)

VB

<ExtensionAttribute>
Public Shared Function GroupTopoSort(Of T) ( 
	source As IEnumerable(Of T),
	dependsOnGetter As Func(Of T, IEnumerable(Of T))
) As IEnumerable(Of T())

F#

[<ExtensionAttribute>]
static member GroupTopoSort : 
        source : IEnumerable<'T> * 
        dependsOnGetter : Func<'T, IEnumerable<'T>> -> IEnumerable<'T[]> 

Parameters

 

source
Type: System.Collections.Generic.IEnumerable(T)
Collection to sort.
dependsOnGetter
Type: System.Func(T, IEnumerable(T))
Function that returns items dependent on specified item.

Type Parameters

 

T
[Missing documentation for "M:CodeJam.Collections.EnumerableExtensions.GroupTopoSort1(System.Collections.Generic.IEnumerable{0},System.Func{0,System.Collections.Generic.IEnumerable{0}})"]

Return Value

Type: IEnumerable(T[])
Topologically sorted list of items in source separated by dependency level.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable(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).

See Also

Reference

EnumerableExtensions Class
GroupTopoSort Overload
CodeJam.Collections Namespace

Clone this wiki locally