public bool Contains(object data) { bool containsData = false; Node pointer = Head; ClubMember cm = (ClubMember)data; while (containsData == false && pointer != null) { if (cm.Equals(pointer.Data)) { containsData = true; } pointer = pointer.Next; } return(containsData); }
public int IndexOf(object data) { bool containsData = false; Node pointer = Head; ClubMember cm = (ClubMember)data; int index = 0; while (containsData == false && pointer != null) { if (cm.Equals(pointer.Data)) { containsData = true; } pointer = pointer.Next; index++; } return(index - 1); }
private void SearchLinear(IComparable[] arr) { Stopwatch sw = new Stopwatch(); sw.Start(); Random rnd = new Random(); ClubMember[] cmArr = (ClubMember[])arr; ClubMember cm1 = cmArr[rnd.Next(0, arr.Length - 1)]; ClubMember cm2 = cmArr[rnd.Next(0, arr.Length - 1)]; ClubMember cm3 = cmArr[rnd.Next(0, arr.Length - 1)]; int index = 0; for (int i = 0; i < 1000; i++) { index = 0; while (cm1.Equals(arr[index]) == false) { index++; } index = 0; while (cm2.Equals(arr[index]) == false) { index++; } index = 0; while (cm3.Equals(arr[index]) == false) { index++; } } sw.Stop(); Console.WriteLine("Linear Search(" + arr.Length + "): " + sw.Elapsed); }