简单选择排序
void SelectSort(int arr[], int size)
{
int i, j;
for (i = 0; i < size-1; i++)
{
int index = i;
for(j = i+1; j < size; j++)
{
if(arr[index] > arr[j])
{
index = j;
}
}
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
插入排序
void InsertSort(int arr[], int size)
{
int i, j;
for(i = 1; i < size; i++)
{
int temp = arr[i];
j=i-1;
while (j >= 0 && arr[j] > temp)
{
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
}
冒泡排序
void bubbleSort(int arr[], int size)
{
for(int i = 0; i < size-1; i++)
{
bool off = false;
for(int j = 0; j < size-1-i; j++)
{
if(arr[j] > arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
off = true;
}
}
printf("第%d次执行\n",i+1);
printArr(arr, 8);
if(!off)
{
return;
}
}
}