冒泡排序
void bubbleSort(int arr[], int n)
{
for (int i = 0; i < n; i++)
{
for(int j = 0; j < n - i - 1; j++)
{
if(arr[j] > arr[j+1])
{
int t = arr[j];
arr[j] = arr[j+1];
arr[j + 1] = t;
}
}
}
}
选择排序
void choiceSort(int arr[], int n)
{
for(int i = 0; i < n; i++)
{
int m = i;
for(int j = i + 1; j < n; j ++)
{
if (arr[j] < m)
m = j;
}
if (i != m)
{
int t = arr[i];
arr[i] = arr[m];
arr[m] = t;
}
}
}
插入排序
void insertion_sort(int arr[], int len)
{
for(int i = 1; i < len; i++)
{
int key = arr[i];
int j;
for(j = i - 1; j > 0 && key < arr[j]; j--)
{
arr[j+1] = a[j];
a[j + 1] = key;
}
}
}
快速排序
void swap(int* a, int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int partion(int arr[], int low, int high)
{
int i = low;
int pivot = arr[high];
for (int j = low; j <= high - 1; j++)
{
if (arr[j] < pivot)
{
swap(&arr[i], &arr[j]);
i++;
}
}
swap(&arr[i], &arr[high]);
return i;
}
void quickSort(int arr[], int low, int high)
{
if (low < high)
{
int pivot = partion(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
}