void DoubleBubbleSort(int R[],int n)
{
int right = n - 1;
int left = 0;
bool flag = true;
int i, j, temp;
while (flag)
{
flag = false;
for (i = left; i < right; ++i) //从左到右扫描,最大的放右边
{
if (R[i] > R[i + 1])
{
temp = R[i];
R[i] = R[i + 1];
R[i + 1] = temp;
flag = true;
}
}
--right;
for (j = right; j > left; --j) //从右到左扫描,最小的放左边
{
if (R[j] < R[j - 1])
{
temp = R[j];
R[j] = R[j - 1];
R[j - 1] = temp;
flag = true;
}
}
++left;
}
}
(C语言)双向冒泡排序
最新推荐文章于 2023-11-27 10:24:07 发布