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方法只是对数组进行逆转并不进行排序。