冒泡排序

/*


做

    交换旗帜变量 = 假 (False)

    for i = 1(数组头) to indexOfLastUnsortedElement-1(遍历减减)

        如果 左边元素 > 右边元素(升序)

            交换(左边元素,右边元素)

            交换旗帜变量 = 真(True)

while 交换旗帜变量(如果没有交换,说明数组已经排好序)

*/
void arraybubblesort(int* nums, int numsSize)
{
    bool changevar;
    int unsort = numsSize - 1;
    do
    {
        changevar = false;
        for (int i = 0; i < unsort; i++)
        {
            //如果左边大于右边,交换
            if (nums[i] > nums[i + 1])
            {
                int a = nums[i];
                nums[i] = nums[i + 1];
                nums[i + 1] = a;
                changevar = true;

            }
        }
        unsort--;
    } while (changevar);
}
原文地址:https://www.cnblogs.com/hebust/p/9385479.html