1、冒泡排序(效率很低)
public static int[] Sort(int[] arr)
{
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
2、插入排序(相對于冒泡排序提升了很多時間,插入排序在測試一個數組有很多已經排序好的,速度很快。因為它避免了很多不必要的循環)
public static int[] Sort(int[] arr)
{
for (int i = 1; i < arr.Length; i++)
{
int a = arr[i];
int j;
for (j = i; j > 0; j--)
{
if (a < arr[j - 1])
{
arr[j] = arr[j - 1];
}
else
{
break;
}
}
arr[j] = a;
}
return arr;
}
public static int[] Sort(int[] arr)
{
for (int i = 0; i < arr.Length - 1; i++)
{
//定義一個最小數的索引
int min = i;
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[j] < arr[min])
{
min = j;
}
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
return arr;
}