排序算法
BUBSort 冒泡排序
伪代码
do
- swapped = false
- from i = 1 to 最后一个没有排序过元素的索引 - 1
- if left > right
- - swap (left, right)
- - swapped = true
while swapped
代码实现
void BubSort()
{
int tem=0;
bool swapped;
do
{
tem++;
swapped=false;
for(int i=1;i<=n-tem;i++)
if(a[i]>a[i+1])
swap(a[i],a[i+1]),swapped=true;
}while(swapped);
}
时间复杂度;\(O(n^2)\)。
稳定排序。
QUISort 快速排序
对于每个(未排序)的部分
将 first 元素设为 pivot
- tem = pivot 索引 + 1
- 从 i = pivot 索引 + 1 到 最右索引 的遍历
- - 如果 a[i] < a[pivot]
- - - 交换 (i, tem); tem ++;
- 交换(pivot, tem - 1)
标签:tem,swapped,索引,算法,pivot,排序
From: https://www.cnblogs.com/RainCQwQ/p/-/Sort