Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
reverse linked list
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { public static void Main(string[] args) { Node head = null; LinkedList.Append(ref head, 15); LinkedList.Append(ref head, 37); LinkedList.Append(ref head, 83); LinkedList.Append(ref head, 56); Console.WriteLine("Linked list:"); LinkedList.Print(head); LinkedList.Reverse(ref head); Console.WriteLine(); Console.WriteLine("Reversed Linked list:"); LinkedList.Print(head); Console.WriteLine(); //LinkedList.PrintRecursive(head); Console.WriteLine("Reverse of Reversed Linked list:"); LinkedList.ReverseUsingRecursion(head); head = LinkedList.newHead; LinkedList.PrintRecursive(head); } public static class LinkedList { public static void Append(ref Node head, int data) { if (head != null) { Node current = head; while (current.Next != null) { current = current.Next; } current.Next = new Node(); current.Next.Data = data; } else { head = new Node(); head.Data = data; } } public static void Print(Node head) { if (head == null) return; Node current = head; do { Console.Write("{0} ", current.Data); current = current.Next; } while (current != null); } public static void PrintRecursive(Node head) { if (head == null) { Console.WriteLine(); return; } Console.Write("{0} ", head.Data); PrintRecursive(head.Next); } public static void Reverse(ref Node head) { if (head == null) return; Node prev = null, current = head, next = null; while (current.Next != null) { next = current.Next; current.Next = prev; prev = current; current = next; } current.Next = prev; head = current; } public static Node newHead; public static void ReverseUsingRecursion(Node head) { if (head == null) return; if (head.Next == null) { newHead = head; return; } ReverseUsingRecursion(head.Next); head.Next.Next = head; head.Next = null; } } public class Node { public int Data = 0; public Node Next = null; } } }
run
|
edit
|
history
|
help
1
sdfgrthyjuytgr
Word count in string
Vajdalinky
cff
SHA加密
Enumerable
sdsadxaxsd
Compiler
Strings in C# with some properties examples
Bharadwaj maryala