选择排序

思路:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

用winform实现,界面如下图所示:

主要代码为:

  try
            {
                string beforeSort = txtBeforeSort.Text.ToString();
                string[] sortArr = beforeSort.Split('*');
                List<int> beforeArr = new List<int>();
                foreach (string str in sortArr)
                {
                    int num = int.Parse(str);
                    beforeArr.Add(num);
                }
                List<int> afterArr = new List<int>();
                
                int count = beforeArr.Count;
                while(count > 0)
                {
                    int min = beforeArr[0];
                    for(int i = 0; i < count ;i++)
                    {
                       if (beforeArr[i] <= min )
                        {
                            min = beforeArr[i];
                        }      
                    }
                    afterArr.Add(min);
                    beforeArr.Remove(min);
                    count = beforeArr.Count;
                }
                string afterStr = "";
                foreach (int i in afterArr)
                {
                    afterStr += i.ToString() + "*";
                }
                txtAfterSort.Text = afterStr.Substring(0, afterStr.Length - 1);

            }
            catch (Exception ex)
            { 
            }
posted @ 2013-07-22 10:20  nygfcn  阅读(180)  评论(0)    收藏  举报