List<int> list1=new List<int>();
List<int> list2=new List<int>(); foreach (System.Windows.Forms.Control c in panel5.Controls) { if (c is CheckBox) { if (((CheckBox)c).Checked == true) { list1.Add(int.Parse(((CheckBox)c).Text)); } else { list2.Add(int.Parse(((CheckBox)c).Text)); } } } int[] arr = InsertionSort(list1.ToArray()); int[] arrhold = InsertionSort(list2.ToArray()); CPYC.normal = zhengli(arr); CPYC.hold = zhengli(arrhold);/
/// <summary>
/// 插入排序法 /// </summary> /// <param name="list"></param> public static int[] InsertionSort(int[] list) { for (int i = 1; i < list.Length; i++) { int t = list[i]; int j = i; while ((j > 0) && (list[j - 1] > t)) { list[j] = list[j - 1]; --j; } list[j] = t; } return list; }/// 整理 将相邻的数值用范围的形式表示 {1,2,3}转成{1-3}
public string zhengli (int[] arry)
{ string stringbuild=""; int start, end; for (int i = 0; i < arry.Length; i++) { start = arry[i]; while (i < arry.Length - 1 && arry[i] + 1 == arry[i + 1]) i++; end = arry[i]; if (start == end) { stringbuild += start.ToString()+","; } else { stringbuild += start + " - " + end+","; } } return stringbuild; }