/*
做
交换旗帜变量 = 假 (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);
}