C Program to sort array in ascending order (Bubble Sort)
Data Structure Sorting (Article) Sorting (Program)
34
Given Input:
Expected Output:
Program:
<xmp> /** * C program to sort elements of array in ascending order */ #include <stdio.h> #define MAX_SIZE 100 // Maximum array size int main() { int arr[MAX_SIZE]; int size; int i, j, temp; /* Input size of array */ printf("Enter size of array: "); scanf("%d", &size); /* Input elements in array */ printf("Enter elements in array: "); for(i=0; i<size; i++) { scanf("%d", &arr[i]); } for(i=0; i<size; i++) { /* * Place currently selected element array[i] * to its correct place. */ for(j=i+1; j<size; j++) { /* * Swap if currently selected array element * is not at its correct position. */ if(arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } /* Print the sorted array */ printf("\nElements of array in ascending order: "); for(i=0; i<size; i++) { printf("%d\t", arr[i]); } return 0; }
Output:
Enter size of array: 9 Enter elements in array: 9 8 7 6 5 4 3 2 1 Elements of array in ascending order: 1 2 3 4 5 6 7 8 9
Explanation:
Important note: With a small change in the program you can change the logic for descending order.
Which means replace condition if(arr[i] > arr[j])
with if(arr[i] < arr[j])
to transform the logic for descending order.