오래 전부터 C 나 C++를 사용하지 않았으므로 포인터에 대해서는 완전히 잊어 버렸습니다. 저는 C#에 익숙하며 이에 대한 기본 버전을 작성했습니다. 내가 옳고 그른대로하고 있는지 알아야합니까?하나의 링크 된 목록에서 노드 교환하기
입력 : 링크 된 목록 A-> B-> C-> D-> 전자> 널
출력 : 링크 된 목록 B-> A-> D -> C -> 전자> 널
우리는 메모리 위치가 교체되고 노드 값이 아닌 코드를 작성해야합니다. LinkedList
내 LinkedListNode
순서가 LinkedListNode
원인 변경할 수 없습니다
public void SwapLinkedList(LinkedList<int> LL)
{
LinkedListNode<int> current = LL.First;
while (current.Next != null)
{
int temp = current.Next.Value;
current.Next.Value = current.Value;
current.Value = temp;
current = current.Next.Next;
}
}
'교환'을 정의하십시오. 이 코드는 첫 번째 목록 값을 올바르게 끝냅니다. 원하는 값입니까? –
이 글을 살펴보세요 http://stackoverflow.com/questions/1535988/swapping-nodes-on-a-single-linked-list – Alam