Создание связанного списка с LINQ

Каков самый быстрый способ упорядочить неупорядоченный список элементов по индексу предшественника (или родительского) элемента с помощью LINQ?

Каждый элемент имеет уникальный идентификатор и идентификатор этого элемента ' s элемент-предшественник (или родительский), из которого может быть построен связанный список для представления упорядоченного состояния.

Пример

ID      | Predecessor's ID
--------|--------------------
20      | 81
81      | NULL
65      | 12
12      | 20
120     | 65

Отсортированный порядок: {81, 20, 12, 65, 120}. (Упорядоченный) связанный список можно легко итеративно собрать из этих элементов, но можно ли это сделать с помощью меньшего количества операторов LINQ?

Изменить: Я должен был указать, что идентификаторы не обязательно являются последовательными. Я выбрал от 1 до 5 для простоты. См. Обновленные индексы элементов, которые являются случайными.

9
задан Ian Mercer 9 January 2011 в 19:52
поделиться