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