思路
冒泡排序的基本思路是通过相邻元素直接的比较和交换位置,使较小的元素如气泡一般逐渐往上漂浮。
实现
在冒泡排序中,但某一趟不出现任何元素交换时,说明已经排序好了,这时候可以结束算法
代码比较简单,便直接贴上来了
void bubbleSort(int R[], int n)
{
int i, j;
bool exchange;
for (i = 0; i < n - 1; i++)
{
exchange = false;
for (j = n - 1; j > i; j--)
{
if (R[j] < R[j - 1])
{
swap(R[j], R[j - 1]);
exchange = true;
}
}
if (!exchange)
return;
}
}
测试
int main()
{
int R[] = { 4,8,9,7,1,3,2,4 };
bubbleSort(R, 8);
for (int i = 0; i < 8; i++)
{
cout << R[i] << " ";
}
return 0;
}
网友评论