冒泡排序 C语言
初始冒泡排序
//冒泡排序
void bubbleSort(int* arr, int arrSize)//数组 数组长度
{
int i, j;
for (i = 0; i < arrSize; i++)
{ if (!b){ break; }
for (j = 0;j<arrSize-i-1;j++)
{
int temp;
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
优化
方法:加个值判断是否有必要继续排序
如果判断值为真,说明进行了排序
如果判断值为假,说明已经排序完毕,不需要再进行排序
void bubbleSort(int* arr, int arrSize)//冒泡排序(优化)
{
int i, j;
bool b = true;
for (i = 0; i < arrSize; i++)
{ if (!b){ break; }
b = false;
for (j = 0;j<arrSize-i-1;j++)
{
int temp;
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
b = true;
}
}
}
}