您的位置:首页 > 理论基础 > 数据结构算法

冒泡排序

2016-04-29 15:02 253 查看
1、算法思想

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的数往上冒。冒泡排序算法结束的条件是在一趟排序过程中没有发生元素交换。

2、算法代码

void bubbleSort(int a[], int n)//待排序数据存在a[]中,个数为n
{
int i, j;
int temp;//将待插入元素暂存于temp中
int flag;
for (i = n - 1; i >= 1; --i)//数组从下标0开始存储数据
{
flag = 0;//变量flag用来标记本趟排序是否发生了交换
for (j = 1; j <= i; ++j)
{
if (a[j - 1] > a[j])
{
temp = a[j];
a[j] = a[j-1];
a[j - 1] = temp;
flag = 1;
}
}
if (flag == 0)
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息