Skip to content

M_CodeJam_Collections_EnumerableExtensions_TopoSort__1_3

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

EnumerableExtensions.TopoSort(T) Method (IEnumerable(T), Func(T, IEnumerable(T)), IEqualityComparer(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> TopoSort<T>(
	this IEnumerable<T> source,
	Func<T, IEnumerable<T>> dependsOnGetter,
	IEqualityComparer<T> equalityComparer
)

VB

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

F#

[<ExtensionAttribute>]
static member TopoSort : 
        source : IEnumerable<'T> * 
        dependsOnGetter : Func<'T, IEnumerable<'T>> * 
        equalityComparer : IEqualityComparer<'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.
equalityComparer
Type: System.Collections.Generic.IEqualityComparer(T)
Equality comparer for item comparison

Type Parameters

 

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

Return Value

Type: IEnumerable(T)
Topologically sorted list of items in source.

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
TopoSort Overload
CodeJam.Collections Namespace

Clone this wiki locally