c语言冒泡排序问题,孩子不行了,大佬帮帮我
输入10个数,采用改进的冒泡排序方法对这10个数按升序排序并输出。(所谓改进就是当排序过程中某次排序没交换数据(说明数据是有序的),提前终止排序)。
程序代码:#include <stdio.h>
void bubbleSort(int *a, int len)
{
int i, j, tmp, flag;
for (i=0; i<len-1; i++)
{
flag = 0;
for (j=0; j<len-1-i; j++)
{
if (a[j] < a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag++;
}
}
if (flag == 0)
{
break;
}
}
}
void main()
{
int i;
int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 1, 2};
bubbleSort(a, 10);
for (i=0; i<10; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}