【算法题】双向冒泡排序

来源:互联网 发布:js object to list 编辑:程序博客网 时间:2024/06/06 00:17
void func(int* array,int len){    if (array == NULL || len<=1)    {        return;    }    int left = -1;    int right = len;    while (left<right)    {        left++;        right--;         bool swapped = false;        for (auto j = left; j < right;j++)        {            if (array[j]>array[j+1])            {                std::swap(array[j], array[j + 1]);                swapped = true;            }        }        if (!swapped)        {            return;        }        swapped = false;        for (auto j = right; j > left;--j)        {            if (array[j]<array[j-1])            {                std::swap(array[j],array[j-1]);                swapped = true;            }        }        if (!swapped)        {            return;        }    }}
原创粉丝点击