//插入排序
void InsertSort(int arr[],size_t len)
{
int i, j;
for(i = 1; i < len; i++)
{
if(arr[i] < arr[i - 1])
{
int tmp = arr[i];
for(j = i; j > 0 && tmp < arr[j-1]; j--)
{
arr[j] = arr [j-1];
}
arr[j] = tmp;
}
}
for(i = 0; i < len; i++)
{
printf("%d",arr[i]);
}
printf("\n");
}
-
//选择排序
void ChoiceSort(int arr[],size_t len)
{
int i, j;
for(i = 0; i < len; i++)
{
int max = i;
for(j = i; j < len; j++)
{
if(arr[j] > arr[max])
{
max = j;
}
}
if(max != i)
{
int tmp = arr[i];
arr[i] = arr[max];
arr[max] = tmp;
}
}
for(i = 0; i < len; i++)
{
printf("%d",arr[i]);
}
printf("\n");
}
//冒泡排序
void BubbleSort(int arr[],size_t len)
{
int i, j;
for (i = 0; i < len - 1; i++)
{
for(j = 0; j < len - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
for(i = 0; i < len; i++)
{
printf("%d",arr[i]);
}
}
//希尔排序
void ShellSort(int a[], int n, int dk)
{
while (dk >= 1)
{
for (int i = dk; i < n; i++)
{
if (a[i] < a[i - dk])
{
int tmp = a[i];
a[i] = a[i - dk];
a[i - dk] = tmp;
}
}
dk = dk / 2;
}
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
cout << endl;
}