1.思路:
2.代码实现
#includevoid Swap(int* p1, int* p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } void BubbleSort(int* a, int n) { int i = 0; int j = 0; for (j = 0; j < n; j++) { int exchange = 0; for (i = 1; i < n - j; i++) { if (a[i - 1]>a[i]) { Swap(&a[i - 1], &a[i]); exchange = 1; } } if (exchange == 0)//此时循环一遍后,没有发生交换,即表示排序完成 { break; } } } void PrintArray(int* a, int n) { for (int i = 0; i < n; ++i) { printf("%d ", a[i]); } printf("n"); } int main() { int a[10] = { 2, 7, 6, 3, 1, 0, 9, 4, 5, 8 }; int n = sizeof(a) / sizeof(int); BubbleSort(a, n); PrintArray(a, n); return 0; }



