排序
插入
int* insertionSort(int arr[], int len)
{
int i = 0;
int j = 0;
int temp = 0;
for (i = 0; i < len - 1; ++i)
{
temp = arr[i + 1];
j = i;
while (j >= 0 && temp < arr[j])
{
arr[j + 1] = arr[j];
--j;
}
arr[j + 1] = temp;
}
return arr;
}
希尔
int* shellSort(int arr[], int len)
{
int i = 0;
int j = 0;
int temp = 0;
int group = len / 2;
while (group > 0)
{
for (i = group; i < len; ++i)
{
temp = arr[i];
j = i - group;
while (j >= 0 && temp < arr[j])
{
arr[j + group] = arr[j];
j -= group;
}
arr[j + group] = temp;
}
group /= 2;
}
return arr;
}
选择
int* selectionSort(int arr[], int len)
{
int i = 0;
int j = 0;
int min;
for (i = 0; i < len; +&