using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LinkedListChecks { class Program { static void Main(string[] args) { LinkedList linkedList = new LinkedList(); List list = new List(); int intLoopCnt = 100; for (var i = 0; i < intLoopCnt; i++) { var a = new Temp(i, i, i, i); list.Insert(i / 2, a); } for (var i = 0; i < intLoopCnt; i++) { var a = new Temp(i, i, i, i); linkedList.AddLast(a); var curNode = linkedList.First; for (var k = 0; k < i / 2; k++) // in order to insert a node at the middle of the list we need to find it curNode = curNode.Next; linkedList.AddAfter(curNode, a); // insert it after } Console.WriteLine("List count: " + list.Count); Console.WriteLine("LinkedList count: " + linkedList.Count); Console.Read(); } } class Temp { public decimal A, B, C, D; public Temp(decimal a, decimal b, decimal c, decimal d) { A = a; B = b; C = c; D = d; } } }