public void SortExample() { var sorter = new ShakerSorter<int>(); var list = new List<int> {13, 5, 77, 9, 12}; sorter.Sort(list, Comparer<int>.Default); Assert.AreEqual(5, list[0]); Assert.AreEqual(9, list[1]); Assert.AreEqual(12, list[2]); Assert.AreEqual(13, list[3]); Assert.AreEqual(77, list[4]); }
public void SortExample() { var sorter = new ShakerSorter <int>(); var list = new List <int> { 13, 5, 77, 9, 12 }; sorter.Sort(list, Comparer <int> .Default); Assert.AreEqual(5, list[0]); Assert.AreEqual(9, list[1]); Assert.AreEqual(12, list[2]); Assert.AreEqual(13, list[3]); Assert.AreEqual(77, list[4]); }
static void Main(string[] args) { ShakerSorter sorter = new ShakerSorter(); Console.Write("Введите число элементов массива: "); int count = int.Parse(Console.ReadLine()); int[] array = new int[count]; for (int i = 0; i < count; i++) { Console.Write("array[" + i + "] = "); array[i] = int.Parse(Console.ReadLine()); } Console.WriteLine("Отсортированный массив:"); sorter.Sort(array); for (int i = 0; i < count; i++) { Console.Write(array[i] + " "); } Console.WriteLine(); }
public void ExceptionNullComparer1() { var sorter = new ShakerSorter<int>(); sorter.Sort(new List<int>(), (IComparer<int>)null); }
public void ExceptionNullList3() { var sorter = new ShakerSorter<int>(); sorter.Sort(null, SortOrder.Ascending); }
public void ExceptionNullList2() { var sorter = new ShakerSorter<int>(); sorter.Sort(null, Comparer<int>.Default); }
public void ExceptionNullList1() { var sorter = new ShakerSorter<int>(); sorter.Sort(null); }
public void Simple() { var sorter = new ShakerSorter<int>(); TestSorter(sorter); }
public void TestShakerSortNullComparer1() { ShakerSorter <int> sorter = new ShakerSorter <int>(); sorter.Sort(new List <int>(), (IComparer <int>)null); }
public void TestShakerSortNullList3() { ShakerSorter <int> sorter = new ShakerSorter <int>(); sorter.Sort(null, SortOrder.Ascending); }
public void TestShakerSortNullList2() { ShakerSorter <int> sorter = new ShakerSorter <int>(); sorter.Sort(null, Comparer <int> .Default); }
public void TestShakerSortNullList1() { ShakerSorter <int> sorter = new ShakerSorter <int>(); sorter.Sort(null); }
public void TestShakerSorter() { ShakerSorter <int> sorter = new ShakerSorter <int>(); TestSorter(sorter); }
static void SortDemo() { // seven custom algorithms; // for each algorithm prepare copies of the same array to sort Random rd = new Random(); int[] z1 = new int[50000]; for (int i = 0; i < z1.Length; i++) { z1[i] = rd.Next(0, z1.Length); } int[] z2 = new int[z1.Length]; z1.CopyTo(z2, 0); int[] z3 = new int[z1.Length]; z1.CopyTo(z3, 0); int[] z4 = new int[z1.Length]; z1.CopyTo(z4, 0); int[] z5 = new int[z1.Length]; z1.CopyTo(z5, 0); int[] z6 = new int[z1.Length]; z1.CopyTo(z6, 0); int[] z7 = new int[z1.Length]; z1.CopyTo(z7, 0); // ---------------------------------------------------------- Console.WriteLine("Selection Sort:"); ISorter <int> sorter = new SelectionSorter(); DateTime dt1 = DateTime.Now; sorter.Sort(z1, 0, z1.Length - 1); DateTime dt2 = DateTime.Now; Console.WriteLine("Time: {0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z1.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Bubble sort"); sorter = new BubbleSorter(); dt1 = DateTime.Now; sorter.Sort(z2, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z2.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Insertion sort"); sorter = new InsertionSorter(); dt1 = DateTime.Now; sorter.Sort(z3, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z3.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Shaker sort"); sorter = new ShakerSorter(); dt1 = DateTime.Now; sorter.Sort(z4, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z4.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Shell sort"); sorter = new ShellSorter(); dt1 = DateTime.Now; sorter.Sort(z5, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z5.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Counting sort"); sorter = new CountingSorter(); dt1 = DateTime.Now; sorter.Sort(z6, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z6.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.WriteLine("Quicksort"); sorter = new QuickSorter(); dt1 = DateTime.Now; sorter.Sort(z7, 0, z1.Length - 1); dt2 = DateTime.Now; Console.WriteLine("{0}:{1}", (dt2 - dt1).Seconds, (dt2 - dt1).Milliseconds); Console.WriteLine("First 20 elements:"); foreach (int elem in z7.Take(20)) { Console.Write(elem + " "); } Console.WriteLine(); Console.ReadKey(); Console.Clear(); }