Exemplo n.º 1
0
        public void TestInsertSort()
        {
            var sort = new InsertSort();

            sort.Sort(_arr);
            CollectionAssert.AreEqual(_arr, _expectedArr);
        }
Exemplo n.º 2
0
        private static void Sort(string[] a, int lo, int hi, int d, int R, string[] aux)
        {
            if (hi <= lo + M)
            {
                InsertSort.Sort(a, lo, hi, d); return;
            }

            int[] count = new int[R + 2];
            // 频率计数
            for (int i = lo; i <= hi; i++)
            {
                count[CharAt(a[i], d)]++;
            }

            // 计算每个字符的种类的起始索引
            for (int r = 0; r < R + 1; r++)
            {
                count[r + 1] += count[r];
            }

            for (int i = 0; i <= hi; i++)
            {
                aux[count[CharAt(a[i], d) + 1]++] = a[i];
            }

            for (int i = lo; i <= hi; i++)
            {
                a[i] = aux[i - lo];
            }

            for (int r = 0; r < R; r++)
            {
                Sort(a, lo + count[r], lo + count[r + 1] - 1, d + 1, R, aux);
            }
        }
Exemplo n.º 3
0
        public void SortTest()
        {
            var arr        = new int[] { 3, 6, 7, 4, 9 };
            var insertSort = new InsertSort();

            insertSort.Sort(arr, SortDirection.Desc);
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            ISort insertSort = new InsertSort();
            var   list       = insertSort.Sort(new int[] { 5, 2, 4, 6, 1, 3 });

            foreach (var number in list)
            {
                Console.Write(number + " ");
            }
        }
Exemplo n.º 5
0
        static void SortAlgorithm(int[] array)
        {
            BubbleSort.Sort(array);
            Console.WriteLine($"冒泡排序结果:{string.Join(",", array)}");

            QuickSort.Sort(array, 0, array.Length - 1);
            Console.WriteLine($"快速排序结果:{string.Join(",", array)}");

            InsertSort.Sort(array);
            Console.WriteLine($"插入排序结果:{string.Join(",", array)}");
        }
Exemplo n.º 6
0
        public void InsertSortTest()
        {
            int[]      input      = new int[] { 5, 4, 10, 9, 8, 3, 2, 7, 6, 1 };
            InsertSort insertSort = new InsertSort();

            insertSort.Sort <int>(input);
            for (int i = 0; i < input.Length; i++)
            {
                Assert.IsTrue(input[i] == i + 1);
            }
        }
Exemplo n.º 7
0
        public void InsertSortTest()
        {
            var insert = new InsertSort <int>();

            insert.Items.AddRange(items);
            insert.Sort();
            for (int i = 0; i < items.Count; i++)
            {
                Assert.AreEqual(sorted[i], insert.Items[i]);
            }
        }
Exemplo n.º 8
0
        public void SortTestInsert()
        {
            InsertSort <Int32> insert = new InsertSort <Int32>();

            insert.Items.AddRange(list);

            insert.Sort();

            for (Int32 i = 0; i < sorted.Length; i++)
            {
                Assert.AreEqual(sorted[i], insert.Items[i]);
            }
        }
Exemplo n.º 9
0
        public void InsertSortTest()
        {
            int[] result = CreateResultArray();

            InsertSort <int> sort = new InsertSort <int>(result);

            result = sort.Sort();

            for (int i = 0; i < array.Length; i++)
            {
                Assert.AreEqual(expected[i], result[i]);
            }
        }
Exemplo n.º 10
0
    static void testInsertSort()
    {
        // test InsertSort;
        resetNumber();
        //  开始监视代码运行时间;
        Stopwatch stopwatch = new Stopwatch();

        stopwatch.Start();
        InsertSort.Sort(mNumbers);
        stopwatch.Stop();
        Console.WriteLine("test InsertSort=> {0}毫秒", stopwatch.Elapsed.TotalMilliseconds);
        TestDebug.log(mNumbers);
    }
Exemplo n.º 11
0
        static void Main(string[] args)
        {
            int[] grandezza = { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 30000, 50000, 100000, 150000, 200000, };
            using (StreamWriter sw = new StreamWriter("file.csv", false, Encoding.UTF8))
            {
                sw.WriteLine("Algoritmo;Dimensione;Tempo");
                foreach (int dim in grandezza)
                {
                    Console.WriteLine(dim);
                    int[]  array = new int[dim];
                    Random r     = new Random();
                    for (int x = 0; x < dim; x++)
                    {
                        array[x] = r.Next(0, 100);
                    }
                    Stopwatch s = new Stopwatch();
                    s.Restart();
                    BubbleSort.sort(Copia(array));
                    s.Stop();
                    long temp = s.ElapsedMilliseconds;
                    sw.WriteLine($"BubbleSort;{dim};{temp}");

                    s.Restart();
                    InsertSort.Sort(Copia(array));
                    s.Stop();
                    temp = s.ElapsedMilliseconds;
                    sw.WriteLine($"InsertionSort;{dim};{temp}");

                    s.Restart();
                    InsertSort.Sort(Copia(array));
                    s.Stop();
                    temp = s.ElapsedMilliseconds;
                    sw.WriteLine($"SelectionSort;{dim};{temp}");


                    s.Restart();
                    Array.Sort(Copia(array));
                    s.Stop();
                    temp = s.ElapsedMilliseconds;
                    sw.WriteLine($"ArraySort;{dim};{temp}");

                    s.Restart();
                    MergeSort.Sort(Copia(array));
                    s.Stop();
                    temp = s.ElapsedMilliseconds;
                    sw.WriteLine($"MergeSort;{dim};{temp}");
                }
                sw.Flush();
            }
        }
Exemplo n.º 12
0
        public void SelectSortTest()
        {
            int[] testArray         = ArrayOperations.GenerateIntegerArray(999);
            int[] selectSortedArray = InsertSort.Sort(testArray);

            // iterate across sorted array, verifying that it is less than or equal to the next item in the array
            for (int i = 0; i < testArray.Length - 1; i++)
            {
                if (!(selectSortedArray[i] <= selectSortedArray[i + 1]))
                {
                    Assert.Fail($"Array at position {i} has failed validation for Selection Sort!!!");
                }
            }
        }
Exemplo n.º 13
0
        public void InsertSortTest()
        {
            // arrange
            var insert = new InsertSort <int>();

            // act
            insert.Items.AddRange(Items);
            insert.Sort();
            // assert
            for (int i = 0; i < insert.Items.Count; i++)
            {
                Assert.AreEqual(Sorted[i], insert.Items[i]);
            }
        }
Exemplo n.º 14
0
 private void InsertSortButtonClick(object sender, EventArgs e)
 {
     if (progressBarCount < 2)
     {
         MessageBox.Show("нечего сортировать");
     }
     else
     {
         var insert = new InsertSort <int>();
         insert.Items.AddRange(values.Select(x => x.Bar.Value));
         insert.SwapEvent += SwapEvent;
         var time = insert.Sort();
         ShowInfoAboutSort(insert, time);
     }
 }
Exemplo n.º 15
0
        static void Main(string[] args)
        {
            var list = new IComparable[] { 1, 10, 6, 13, 4, 3, 2, 1, 1, 6, 5, 3, 7, 4, 1 }.ToList();

            InsertSort insAlg = new InsertSort();

            Console.WriteLine(insAlg.Sort(list).Render());
            Console.ReadKey();

            list = new IComparable[] { 1, 15, 56, 0, -2, 4, 2, 7, 4, 7, 34, 1, 23, 2, 6, 4, 1, 12 }.ToList();

            MergeSort mergeAlg = new MergeSort();

            System.IO.File.WriteAllText
                (@"C:\temp\growth.dat", mergeAlg.Growth(20000, 100).Render());
            Console.ReadKey();
            Console.ReadKey();
        }
Exemplo n.º 16
0
        public void SortTest()
        {
            //arrenge
            var insert = new InsertSort <int>();
            var rnd    = new Random();
            var items  = new List <int>();

            for (int i = 0; i < 15; i++)
            {
                items.Add(rnd.Next(0, 100));
            }
            insert.Items.AddRange(items);
            var sorted = items.OrderBy(x => x).ToArray();//стадартная сортировка List

            //act
            insert.Sort();
            //assert
            for (int i = 0; i < items.Count; i++)
            {
                Assert.AreEqual(sorted[i], insert.Items[i]);
            }
        }
Exemplo n.º 17
0
        private void button2_Click(object sender, EventArgs e)
        {
            var sw = new Stopwatch();

            Thread.Sleep(1500);
            sw.Start();
            var rnd = new Random();

            for (int i = 0; i < 20; i++)
            {
                var val  = rnd.Next(0, 100);
                var item = new SortedItem(val);
                items.Add(item);
                SetProperty(label3, item);
            }
            //---------------
            sw.Restart();
            var bubble = new BubbleSort <SortedItem>();

            bubble.Items.AddRange(items);
            bubble.Sort();
            foreach (var i in bubble.Items)
            {
                SetProperty(label4, i);
            }
            sw.Stop();
            label4.Text += $"\t{sw.ElapsedMilliseconds.ToString()} мс";
            //----------------
            sw.Restart();
            var coctail = new KoktailSort <SortedItem>();

            coctail.Items.AddRange(items);
            coctail.Sort();
            foreach (var i in coctail.Items)
            {
                SetProperty(label5, i);
            }
            sw.Stop();
            label5.Text += $"\t{sw.ElapsedMilliseconds.ToString()} мс";
            //-----------------
            sw.Restart();
            var insert = new InsertSort <SortedItem>();

            insert.Items.AddRange(items);
            insert.Sort();
            foreach (var i in insert.Items)
            {
                SetProperty(label6, i);
            }
            sw.Stop();
            label6.Text += $"\t  {sw.ElapsedMilliseconds.ToString()} мс";
            //----------------------
            sw.Restart();
            var shell = new ShellSort <SortedItem>();

            shell.Items.AddRange(items);
            shell.Sort();
            foreach (var i in shell.Items)
            {
                SetProperty(label7, i);
            }
            sw.Stop();
            label7.Text += $"\t{sw.ElapsedMilliseconds.ToString()} мс";
            //----------------------
            items.Clear();
        }