C#에서 LinkedList를 여러 자식에게 가리키는 방법이 있습니까? 즉, 다중 방향 연결 목록으로 전환하는 방법이 있습니까?C# Multiway Linked List
0
A
답변
2
당신은리스트의 목록을 작성해야
LinkedList<LinkedList<int>> l = new LinkedList<LinkedList<int>>();
을하지만 그것은 정확한 문제에 따라 달라집니다.
당신이, 당신이 당신의 자신의 데이터 구조를 만들어야합니다 저장하고 목록에서 해당을 저장할 것을보다 효율적으로 제어 할하려는 경우 :
public class MyNodeData
{
public MyNodeData()
{
Children = new LinkedList<MyNodeData>();
}
public MyNodeData(int i, string s)
: this()
{
MyInt = i;
MyString = s;
}
public int MyInt { get; set; }
public string MyString { get; set; }
public LinkedList<MyNodeData> Children { get; private set; }
}
이것은 단지 샘플입니다 당신은 어떤 속성을 정의의 나 어떤 유형의 어떤 원하는 이름으로.
그런 다음 데이터를 추가 :
LinkedList<MyNodeData> l = new LinkedList<MyNodeData>();
var d = new MyNodeData();
d.MyInt = 10;
d.MyString = "Node message";
d.Children.AddLast(new MyNodeData(11, "Child 1 message"));
d.Children.AddLast(new MyNodeData(12, "Child 2 message"));
l.AddLast(d);
Console.WriteLine(l.First.Value.MyString);
Console.WriteLine(l.First.Value.Children.Last.Value.MyInt);
2
설명하는 것은 그래프 또는 트리 데이터 구조입니다. 이 구현하는 가장 분명한 방법은 노드와 같은 자신의 데이터 구조를 만드는 것입니다 생각합니다. 그래프의 자세한 내용은 http://en.wikipedia.org/wiki/Graph_(abstract_data_type)을 참조하십시오.
관련 문제
- 1. C++ templated linked list trouble
- 2. Doubly Linked List Python
- 3. Java Linked List Questions
- 4. linked list union
- 5. C Typed Stack : Linked-List Implementation
- 6. Clear Linux Kernel Linked List
- 7. Python/linked list/dynamic/overloading
- 8. java linked list 복사 생성자
- 9. Java + Linked-List + Polymorphic Objects
- 10. Linked List for 연산자 * 컴파일러 오류가 없음
- 11. Linked-List 시작 부분에 새 노드 삽입
- 12. C++ My First linked list 내가 뭘 잘못하고 있니?
- 13. LInked 목록 병합 C
- 14. 하나의 SQL 쿼리에서 "linked list"를 반복합니까?
- 15. java linked list 문자열 생성자 및 생성자
- 16. Java sorted Doubly Linked List 추가 메소드
- 17. Java Ordered Doubly Linked List Program
- 18. 구현 된 Linked List, Java에서 메소드 가져 오기
- 19. Circular SIngly LInked LIst, 새 노드 추가 및 표시
- 20. boost :: function에서 "corrupted double-linked list"를 참조하십시오.
- 21. Linked List 구현의 순서를 어떻게 바꿀 수 있습니까?
- 22. segmentation fault linked linkedlist
- 23. Linked Integers of Linked, Java의 연결된 목록입니다.
- 24. C# List Order By
- 25. List GetRange 오류가 C#
- 26. C# List with ProgressBar
- 27. List of PropertyGrid C#
- 28. List GetRange in C#
- 29. android linked listers (청취자 목록)
- 30. GTK의 Draggable Linked Box
감사를 회신합니다. 이 방법을 사용하면 자녀 목록 만 저장할 수 있다면 정확히 '부모'개체를 어떻게 저장할 수 있습니까? –
즉, 노드 '1'이 있고이 노드의 ID를 저장하려면 모든 항목을 저장할 수있는 노드가 자식 노드 인 경우 어떻게 할 수 있습니까? –
음, 이것은 새로운 것입니다! 그래서 당신은 아이들뿐만 아니라 일부 데이터를 저장하기를 원합니다. 승인. 나는 그것을 해결하기 위해 답을 수정한다! –