一、冒泡排序
1.算法平均时间复杂度为 O(),空间复杂度为O(1)
2.C++代码
void BubbleSort(int R[], int n) //冒泡排序
{
int i, j, temp;
for (i = n-1; i >= 1; --i)
{
for (j = 1; j <= i; ++j)
if (R[j - 1] > R[j])
{
temp = R[j - 1];
R[j - 1] = R[j];
R[j] = temp;
}
}
}
二、快速排序
1.算法平均时间复杂度为 O(),空间复杂度为O(
)
2.C++代码
void QuickSort(int R[],int left,int right) //快速排序,left为起始下标,right为结束下标
{
int temp, j = right;
if (left < right)
{
temp = R[left];
while (left != right)
{
while (right > left && R[right] > temp)
--right;
if (left < right)
{
R[left] = R[right];
++left;
}
while (left < right && R[left] < temp)
++left;
if (left < right)
{
R[right] = R[left];
--right;
}
}
R[left] = temp;
QuickSort(R, 0, left - 1);
QuickSort(R, left + 1, j);
}
}