#include<iostream>
#include<algorithm>
using namespace std;
//快排(最好结果是nlogn,最坏情况是n*n)
void QuickSort(int arr[], int L, int R)
{
int pivot = arr[(L + R) / 2];
int i = L;
int j = R;
while (i <= j)
{
while (arr[i] < pivot)
{
i++;
}
while (arr[j] > pivot)
{
j--;
}
if (i <= j)
{
swap(arr[i], arr[j]);
i++;
j--;
}
}
if (i < R)
{
QuickSort(arr, i, R);
}
if (j > L)
{
QuickSort(arr, L, j);
}
}
//插入排序(最好结果是n,最坏情况是n*n)
void InsertSort(int arr[],int len)
{
for (int i = 1; i < len; i++)
{
int key = arr[i];
while (arr[i - 1] > key)
{
arr[i] = arr[i - 1];
i--;
if (i == 0)
{
break;
}
}
arr[i] = key;
}
}
//选择排序(最好结果是n*n,最坏情况是n*n)
void SelectSort(int arr[], int len)
{
for (int i = len; i&
面试常考排序算法
最新推荐文章于 2024-07-28 12:57:19 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)