1.直接插入排序法 for (int i = 0; i < arr.Length; i++) { int temp = arr[i]; int j = i; while ((j>0)&&(arr[j-1]>temp)) { arr[j] = arr[j - 1]; --j; } arr[j] = temp; } 2.冒泡排序法 int j, temp; for (int i = 0; i < arr.Length-1; i++) { j = i + 1; id: if (arr[i]>arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; goto id; } else { if (j<(arr.Length-1)) { j++; goto id; } } } 3.选择排序法 int min; for (int i = 0; i < arr.Length-1; i++) { min = i; for (int j = i+1; j < arr.Length; j++) { if (arr[j]<arr[min]) { min = j; } } int t = arr[min]; arr[min] = arr[i]; arr[i] = t; }
注:C#还另外提供了数组排序方法 Array.Sort(arr)和Array.Reverse(arr),Sort方法可以对数组进行从小到大排序,Reverse方法只是对数组进行逆转并不进行排序。
时间: 2024-10-08 11:43:20