数据结构-排序-冒泡排序
面5笔5冒泡排序
思路:
对一组数,每一轮从头开始依次对相邻的数比较,大的排个后面,小的排个前面
后面每轮结果如下:
注意:第四轮、比较后发现整轮都没有发生交换,表明数组已经是从小到大排序,
不需要进行下一轮比较了
代码:
void bubbleSort(int a[], int len)
{
for(int i = 0 ; i < len -1 ; i ++ )
{
int flag = 0;//用来标记本轮里是否发生交换
for(int j =0; j < len – i -1 ; j ++)
{
if(a[j] > a[j+1])
{
int temp = a[j];
a[j] = a[j +1];
a[j+1] = temp;
flag = 1;
}
}
if(flag ==0) break;//本轮无交换,提前完成排序
}