Pregunta de entrevista de Microsoft

Shuffle Linked List

Respuestas de entrevistas

Anónimo

12 mar 2012

using System; using System.Collections.Generic; using System.Linq; namespace LinkeListShuffle { class Program { static void Main() { var unshuffled = new LinkedList(new[] {1, 2, 3, 4, 5}); var random = new Random(); var shuffled= unshuffled.OrderBy(n=>random.Next()); foreach (var i in shuffled) { Console.WriteLine(i); } } } }

Anónimo

5 oct 2012

void swap(Node *n1, Node n2) { Node * tmp = n1.next; n1.next = n2.next; n2.next = tmp; } Node* traverse(Node * head, int count) { Node * out = head; for (i = 0; i < count;i++) { out = out.next; } } void calc() { for (int i = 0; i < rand(); i++) { Node* n1 = traverse(head, rand()); Node* n2 = traverse(head, rand()); swap(n1, n2); } }