冒泡排序基本思想:
第一步:两两比较,将最大的数放到数组最后一个位置(既下标n-1的位置)
第二步:采用同样的方法,再次遍历,将第二大的数放到数组倒数第二的位置(既下标为n-2的位置)。以此类推,直到数组有序。
下图为冒泡排序流程图,描述了冒泡排序思想的第一步骤,每遍历一次确定一个值的位置,如下图所示:
冒泡排序代码:
void bubbleSort(vector<int> &vec)
{
for(int i = vec.size()-1;i>0;i--)
{
bool flag = true;
for(int j = 0;j<i;j++)
{
if(vec[j]<vec[j+1])
{
swap(vec[j],vec[j+1]);
flag = false;
}
}
if(flag == true)
{
return ;
}
}
}