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