冒泡排序基本思想:
第一步:两两比较,将最大的数放到数组最后一个位置(既下标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 ;
}
}
}
C++实现冒泡排序
本文介绍了冒泡排序的基本思想及C++实现。通过两两比较,逐步将最大元素下沉到数组末尾,最终实现整个数组的有序排列。提供的C++代码中包含了一个优化,即如果在一轮遍历中没有发生交换,则说明数组已经有序,可以提前结束排序过程。
9208

被折叠的 条评论
为什么被折叠?



