1、冒泡排序
void bubbleSort(int arr[], int length)
{
if (arr == NULL && length < 2)
{
return;
}
for (int i = length - 1; i > 0; i--)//0~N-1范围上,然后是0~N-2
{
for (int j = 0; j < i; j++)
{
if (arr[j] > arr[j + 1])
{
/*int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;*/
swap(arr, j, j + 1);
}
}
}
}
2、选择排序
void selectionSort(int arr[], int len)
{
if (arr == NULL || len < 2)
{
return;
}
for (int i = 0; i < len - 1; i++)//i~N-1范围找最小值
{
int minIndex = i;//一开始认为i下标位置是最小值;minIndex保存的是最小值的下标
for (int j = i + 1; j < len; j++)//i~N-1范围找最小值的下标
{
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
}
swap(arr, i, minIndex);
}
}
3、插入排序
//3、插入排序
void insertSort(int arr[], int len)
{
if (arr == NULL || len < 2)
{
return;
}
for (int i = 1; i < len; i++)//0到i做到有序
{
for (int j = i - 1; j >= 0; j--)//从后往前看,遇到后面数比前面数小就被交换
{
if (arr[j] > arr[j + 1])
{
swap(arr, j, j + 1);
}
}
}
}