public static void FillList(LinkedLinearList list, int numberOfArguments, int[] randArray) { Stopwatch sw = new Stopwatch(); Console.WriteLine("Filling LinkedLinearList with {0} random items...", numberOfArguments); sw.Start(); FillWithTestData(list, numberOfArguments, randArray); sw.Stop(); Console.WriteLine("Finished. Time elapsed: {0}", sw.Elapsed); Console.WriteLine(); sw.Reset(); }
private static void FillWithTestData(LinkedLinearList list, int numberOfNodes, int[] array) { if (numberOfNodes <= 0) { throw new ArgumentOutOfRangeException("Cannot add zero or less items"); } for (int nodeNumber = 0; nodeNumber < numberOfNodes; nodeNumber++) { list.Add(new ListNode(array[nodeNumber])); } }
static void Main(string[] args) { int[] argumentsToTest = { 1, 200, 500, 1000, 5000, 10000 }; int numberOflists = argumentsToTest.Length; List<int>[] list = new List<int>[numberOflists]; LinkedLinearList[] linkedList = new LinkedLinearList[numberOflists]; ArrayLinearList[] arrayList = new ArrayLinearList[numberOflists]; Random rand = new Random(); //Взимаме последният елемент от argumentsToTest, така randArray ще може да побере всички данни int[] randArray = new int[argumentsToTest[argumentsToTest.Length - 1]]; FillArray(randArray, rand); //Тестване на бързината при пълнене с данни for (int i = 0; i < numberOflists; i++) { list[i] = new List<int>(); TestLists.FillList(list[i], argumentsToTest[i], randArray); linkedList[i] = new LinkedLinearList(); TestLists.FillList(linkedList[i], argumentsToTest[i], randArray); arrayList[i] = new ArrayLinearList(); TestLists.FillList(arrayList[i], argumentsToTest[i], randArray); } //Тестване на бързината при записване на данни във файл for (int index = 0; index < numberOflists; index++) { TestWritingLists.WriteListItems(list[index], argumentsToTest[index]); linkedList[index].WriteNodes(argumentsToTest[index]); arrayList[index].WriteNodes(argumentsToTest[index]); } }