Ejemplo n.º 1
0
 /// <summary>
 /// 输入数据回车触发
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Txt_Input_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         //各排序算法比较
         List <string> lst_Input = txt_Input.Text.Trim().Split(',').ToList();
         List <int>    lst_Sort  = new List <int>();
         lst_Input.ForEach(s =>
         {
             lst_Sort.Add(Convert.ToInt32(s));
         });
         List <int> lst_Sorted = new List <int>();
         lst_Sorted = lst_Sort;
         string    tip       = string.Empty;
         Stopwatch stopwatch = Stopwatch.StartNew();
         //插入排序
         if (rb_InsertionSort.Checked)
         {
             tip = rb_InsertionSort.Text;
             SortMethod.InsertionSortMethod(lst_Sorted);
         }
         //冒泡排序
         if (rb_BubbleSort.Checked)
         {
             tip = rb_BubbleSort.Text;
             SortMethod.BubbleSortMethod(lst_Sorted);
         }
         //希尔排序
         if (rb_ShellSort.Checked)
         {
             tip = rb_ShellSort.Text;
             SortMethod.ShellSortMethod(lst_Sorted);
         }
         stopwatch.Stop();
         rtb_Output.AppendText(tip + "结果:【" + PrintList(lst_Sorted) + "】");
         rtb_Output.AppendText(Environment.NewLine);
         rtb_SortTime.AppendText(tip + "耗时:【" + stopwatch.Elapsed.ToString() + "】");
         rtb_SortTime.AppendText(Environment.NewLine);
     }
 }