#include <stdio.h> #include <stdlib.h> void bubble_sort(int *a, unsigned int arr_size); int main(){ int *a; unsigned int n,m,k; printf("%s","请输入数组的个数:"); scanf("%d",&n); a = malloc(sizeof(int)*n); printf("%s","请依次输入数组元素:"); for(m=0;m<n;m++){ scanf("%d",&a[m]); } bubble_sort(a,n); for(k=0;k<n;k++){ printf("%d/n",a[k]); } free(a); } void bubble_sort(int *a, unsigned int arr_size){ int buffer; unsigned int i,j; for(i=1;i<arr_size;i++){ /*长度为n的数组只需要进行n-1趟排序*/ for(j=0;j<(arr_size-i+1);j++){ /*从a[0]到a[n-i-1]比较*/ if(a[j] > a[j+1]){ buffer = a[j]; a[j] = a[j+1]; a[j+1] = buffer; } } } }