void Bubble2Sort(int array[], int length) //数组长度至少大于1
{
int left = 1;
int right = length-1;
int t;
do
{
//正向部分,每次得到一个最小值
for (int i=right; i>=left; --i)
{
if (array[i]<array[i-1])
{
Swap(array[i], array[i-1]);
t = i;
}
}
left = t+1;
//反向部分,每次得到一个最大值
for (int i=left; i<right+1; ++i)
{
if (array[i] < array[i-1])
{
Swap(array[i], array[i-1]);
t = i;
}
}
right = t-1;
} while (left<=right);
}