几种排序算法的函数
1.冒泡排序:时间复杂度 O(n^2)
void bubbleSort(int *arr, unsigned int n)
{
int i,j,t;
for(i=0; i<n-1; i++)
for(j=0; j<n-i-1; j++)
if(arr[j+1] < arr[j])
{
t = arr[j+1];
arr[j+1] = arr[j];
arr[j] = t;
}
}
2.插入排序:时间复杂度 O(n^2)
void insertSort(int *arr, unsigned int n)
{
int i, j, temp;
for(i = 1; i < n; i++)
{
temp = arr[i];
for(j=i; j>0 && arr[j-1]>temp; j--)
{
arr[j] = arr[j-1];
}
arr[j] = temp;
}
}
3.选择排序:时间复杂度 O(n^2)
void selectSort(int *arr, int n)
{
int i, j, min, t;
for(i=0; i<n-1; i++)
{
min = i;
//查找最小值
for(j=i+1; j < n; j++)
if(arr[min] > arr[j])
min = j;
//交换
if( min != i)
{
t = arr[min];
arr[min] = arr[i];
arr[i] = t;
}
}
}