#include<stdio.h>
void strmao(int arr[],int sz)
{
int i = 0;
for (i = 0; i < sz-1; i++)//趟数
{
int count = 1;
int j = 0;
for (j = 0; j < sz - 1 - i; j++)//比较的次数
{
if (arr[j] > arr[j+1])
{
int tmp = 0;
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
count = 0;
}
}
if (count == 1)//当比较中有一趟已经排列好,那这组数据就已经排列好,直接退出
{
break;
}
}
}
int main()
{
int arr[10] = { 1,22,55,44,85,74,15,62,5,145 };
int sz = sizeof(arr) / sizeof(arr[0]);
strmao(arr,sz);
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
输出结果:
1 5 15 22 44 55 62 74 85 145
该代码示例展示了如何用C语言实现冒泡排序算法,对一个整数数组进行升序排列。通过两层循环,比较并交换相邻元素,当一趟比较没有发生交换时,说明数组已排序完成。
865

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



