?????????? 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#還另外提供了數(shù)組排序方法? Array.Sort(arr)和Array.Reverse(arr),Sort方法可以對數(shù)組進(jìn)行從小到大排序,Reverse方法只是對數(shù)組進(jìn)行逆轉(zhuǎn)并不進(jìn)行排序。