Tengo un archivo de texto que se parece a esto:C# algoritmo para generar jerarquía
{ Id = 1, ParentId = 0, Position = 0, Title = "root" }
{ Id = 2, ParentId = 1, Position = 0, Title = "child 1" }
{ Id = 3, ParentId = 1, Position = 1, Title = "child 2" }
{ Id = 4, ParentId = 1, Position = 2, Title = "child 3" }
{ Id = 5, ParentId = 4, Position = 0, Title = "grandchild 1" }
Estoy buscando un algoritmo genérico C# que va a crear una jerarquía de objetos de esta. Una función "jerarquizar", si lo desea, convierte estos datos en una jerarquía de objetos.
¿Alguna idea?
edición ya he analizado el archivo en objetos .NET:
class Node
{
public int Id { get; }
public int ParentId { get; }
public int Position { get; }
public string Title { get; }
}
Ahora necesito para organizar los objetos en realidad en un gráfico de objetos.
¿Ya tiene la código que maneja el análisis de este archivo de texto? – pbz
No veo qué hace que el artículo {Id = 5 ...} sea un nieto. Un nieto debe tener uno de los hijos como padre, pero tiene el mismo padre que todos los otros hijos. ¿No debería ser ParentId 2, 3 o 4? No tengo claro en qué necesita "Posición" para. Tal vez se refiere al orden de los niños de izquierda a derecha, y debe especificarlo explícitamente. – AHelps
Supongo que la propiedad de la posición ordena a los hijos de cada padre. – mquander