双向冒泡排序,又名鸡尾酒混合排序,是对冒泡排序的一种改进算法。
每完成一次循环就将最大元素排在队尾,最小值排到队头,时间成本能节约1倍。
其算法如下:
void DoubleBubbleSort(int r[],int size)
{
int i,low=0,high=size-1,temp;
bool exchange;
while(low<high)
{
exchange=false;
//从前往后进行一次冒泡排序,将最大的值放在最后一个位置
for(i=low;i<high;++i)
{
if(r[i]>r[i+<