예제 #1
0
    /// <summary>
    /// 后台测试方法。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        var worker             = sender as BackgroundWorker;
        var quickSortInsertion = new QuickSortInsertion
        {
            M = _m
        };
        var data = SortCompare.GetRandomArrayInt(_n);

        worker?.ReportProgress(50);
        quickSortInsertion.Sort(data);
        e.Result = quickSortInsertion.Counts;
    }
    /// <summary>
    /// 后台测试方法。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        var worker             = sender as BackgroundWorker;
        var quickSortInsertion = new QuickSortInsertion();
        var timeRecord         = new double[31];

        for (var i = 0; i <= 30; i++)
        {
            Debug.Assert(worker != null, nameof(worker) + " != null");
            worker.ReportProgress(i * 3);
            quickSortInsertion.M = i;
            var data = SortCompare.GetRandomArrayInt(N);
            timeRecord[i] = SortCompare.Time(quickSortInsertion, data);
        }
        e.Result = timeRecord;
    }