C++实现鸡尾酒选择排序算法
鸡尾酒选择排序,也被称为双向冒泡排序,是一种比较简单的排序算法,它是经过多次“扫描”数组而实现排序,在每一轮扫描中,它会依次比较相邻的元素,然后将较小的元素交换到前面,较大的元素交换到后面。这个过程就像是在鸡尾酒中不断搅拌,直到所有元素有序排列。
下面是C++实现鸡尾酒选择排序的完整源代码:
#include <iostream>
using namespace std;
void CocktailSort(int arr[], int n)
{
bool swapped = true;
int start = 0, end = n-1;
while (swapped) {
swapped = false;
// 从左到右进行排序
for (int i = start; i < end; i++) {
if (arr[i] > arr[i+1]) {
swap(arr[i], arr[i+1]);
swapped = true;
}
}
if (!swapped) {
break;
}
swapped = false;
end--;
// 从右到左进行排序
for (int i = end - 1; i