/* File: bubble3.c Bubblesort This one uses lots of functions. */ #include #define TEN 10 void swap(int *ptr1, int *ptr2) ; void PrintArray(int A[], int size) ; void BubbleSort(int A[], int size) ; int main() { int A[TEN] = { 28, 3, 15, 49, 26, 29, 4, 22, 23, 20 } ; printf("Before sorting: ") ; PrintArray(A, TEN) ; BubbleSort(A, TEN) ; printf("After sorting: ") ; PrintArray(A, TEN) ; return 0 ; } void BubbleSort(int A[], int size) { int i, j ; for (i = 0 ; i < size - 1 ; i++) { for (j = 0 ; j < size - i - 1 ; j++) { if (A[j] > A[j+1]) { swap(&A[j], &A[j+1]) ; } } } } void PrintArray (int A[], int size) { int i ; for ( i = 0 ; i < size ; i++ ) { printf("%2d ", A[i]) ; } printf("\n") ; } void swap(int *ptr1, int *ptr2) { int temp ; temp = *ptr1 ; *ptr1 = *ptr2 ; *ptr2 = temp ; }