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"); }