Я работаю над проблемой, где я должен предоставить список строк, и мне нужно организовать их таким образом, чтобы возвращал список строк в правильном порядке. Получаемый массив строк содержит шаги и необходимый шаг для выполнения задачи.C#: Приоритизация/реорганизация строкового массива
Пример входные данные массив:
[
"Step A: ",
"Step B: Step A",
"Step C: Step D",
"Step E: Step C",
"Step D: ",
"Step F: Step A",
]
Массив организован таким образом, что первая строка является основным шагом и предварительно REQ требуется после того, как толстая кишка. Если на шаге нет предварительного запроса, он будет пустым. С массивом выше ожидаемого результата будет: Шаг A, Шаг D, Шаг B, Шаг F, Шаг C, Шаг E
Я пытаюсь придумать, как наилучшим образом подойти к этой и какой структуре данных (s) для использования. Моя первая мысль заключалась в том, чтобы пропустить через массив и получить Шаги без предварительного добавления их в список. Затем мне нужно было бы снова ввести входной массив.
Как можно выполнить шаг D перед шагом B? – Kld
@ Kld - Я считаю, что OP ищет [Топологический вид] (https://www.bing.com/search?q=c%23+topological+sort). –
@AlexeiLevenkov Приносим извинения за возобновление вопроса, пока намерение было просто проголосовать за повторное открытие. Я согласен, что ОП просит какой-то топологический сорт, но не может понять, как он примет ответы. Из желаемых результатов кажется, что достаточно простого поиска и испускания его в первом порядке хлеба. Но, пожалуйста, закройте его, если вы считаете, что он должен быть закрыт. И снова приношу свои извинения. –