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方法只是對數組進行逆轉並不進行排序。