1.冒泡排序可以将杂乱无章的数列排序整齐;
比如给定数组{5,2,1,4,3,6,7,8,9,10}经过冒泡排序可变成
{1,2,3,4,5,6,7,8,9,10};
2.算法原理
比较相邻元素,如果第一个比第二个大,就交换这两个元素,然后大的元素和后面元素比较,同理,如果比后面的大就交换这两个,直到最大的元素放在最后的位置上,完成一次冒泡排序,十个数据作比较的话,及第一个数字要和其他九个作比较,需要九次,第二个数字比较的话,就不需要和已经在结尾的最大数比较了10-1-1=8,只需要比较八次,一趟冒泡排序会把大的数放在后面,10个元素最多需要九趟。
3.代码展示
int main()
{
int arr[10] = {10,9,8,7,6,5,4,3,2,1};
int sz = sizeof(arr) / sizeof(arr[0]);//数组长度
int i;
for (i = 0; i < sz - 1; i++)//趟数
{
int j = 0;
for (j = 0; j < sz - 1 - i; j++)//比较次数
{
if (arr[j] > arr[j + 1])//前面大于后面,交换
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
for (i = 0; i < sz; i++)//打印数组
{
printf("%d ", arr[i]);
}
}
3.运行展示