Exemplo n.º 1
0
        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]);
        }
Exemplo n.º 2
0
        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]);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
		public void ExceptionNullComparer1()
        {
            var sorter = new ShakerSorter<int>();
            sorter.Sort(new List<int>(), (IComparer<int>)null);
        }
Exemplo n.º 5
0
		public void ExceptionNullList3()
        {
            var sorter = new ShakerSorter<int>();
            sorter.Sort(null, SortOrder.Ascending);
        }
Exemplo n.º 6
0
		public void ExceptionNullList2()
        {
            var sorter = new ShakerSorter<int>();
            sorter.Sort(null, Comparer<int>.Default);
        }
Exemplo n.º 7
0
		public void ExceptionNullList1()
        {
            var sorter = new ShakerSorter<int>();
            sorter.Sort(null);
        }
Exemplo n.º 8
0
		public void Simple()
        {
            var sorter = new ShakerSorter<int>();
            TestSorter(sorter);
        }
Exemplo n.º 9
0
        public void TestShakerSortNullComparer1()
        {
            ShakerSorter <int> sorter = new ShakerSorter <int>();

            sorter.Sort(new List <int>(), (IComparer <int>)null);
        }
Exemplo n.º 10
0
        public void TestShakerSortNullList3()
        {
            ShakerSorter <int> sorter = new ShakerSorter <int>();

            sorter.Sort(null, SortOrder.Ascending);
        }
Exemplo n.º 11
0
        public void TestShakerSortNullList2()
        {
            ShakerSorter <int> sorter = new ShakerSorter <int>();

            sorter.Sort(null, Comparer <int> .Default);
        }
Exemplo n.º 12
0
        public void TestShakerSortNullList1()
        {
            ShakerSorter <int> sorter = new ShakerSorter <int>();

            sorter.Sort(null);
        }
Exemplo n.º 13
0
        public void TestShakerSorter()
        {
            ShakerSorter <int> sorter = new ShakerSorter <int>();

            TestSorter(sorter);
        }
Exemplo n.º 14
0
        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();
        }