什么是冒泡排序:
对存放原始数据的数组,按从前往后的方向进行多次循环,每次循环称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时,会将这两个数据进行互换。
冒泡排序法的特点:
升序排序中每一轮比较会把最大的数下沉到最底,所以最大的那个数据位置已经确定就不需要再比较了,因此相互比较的次数每次循环都会比前一轮少一次。
代码展示
void mp_sort(int arr[10],int len)
{
int i,j,temp;
//外层每次循环
for(i = 0;i<len-1;i++)
{
//循环次数依次-1,因为最大的数会依次沉底
for(j = 0;j<len-1-i;j++)
{
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main()
{
int arr[10] = {1,3,4,8,6,10,34,55,33,7};
//int len = sizeof(arr) / sizeof(arr[0]);
mp_sort(arr,10);
int a;
for(a = 0;a<10;a++)
{
printf("%d ",arr[a]);
}
printf("\n");
return 0;
}