Algorithm - 冒泡排序

来源:互联网 发布:java 时间格式中间带t 编辑:程序博客网 时间:2024/05/16 06:02

1. 冒泡排序:

void Bubble(int * p, int begin, int end){    /* 检查参数合法性 */    if (NULL == p || begin < 0 || end < 0 || begin >= end)    {        return;    }    /* 冒泡排序 */    int i, j, tmp;    bool b = false;    for (i = begin; i < end; i++)    {        for (j = begin; j < end - i; j++)        {            if (p[j] > p[j + 1])            {                b = true;                tmp = p[j + 1];                p[j + 1] = p[j];                p[j] = tmp;            }        }        /* 判断结束条件:一次冒泡过程中没有任何交换 */        if (false == b)        {            std::cout << "cishu: " << i << std::endl;            break;        }         else        {            b = false;        }    }}