Sorting
Sorting
• The outer loop will run from i = 0 to i < n – 1, where n is the number of
elements in the list.
• The inner loop will run from j = 0 to j < n – i – 1. It is because, after each
iteration of the outer loop, one element at the end (or at the start if the
order is decreasing order) will be in its right place so we can leave it as it is.
• # #include <stdio.h>
•
• // Swap function
• void swap(int* arr, int i, int j)
• {
• int temp = arr[i];
• arr[i] = arr[j];
• arr[j] = temp;
• }
•
• // A function to implement bubble sort
• void bubbleSort(int arr[], int n)
• {
• int i, j;
• for (i = 0; i < n - 1; i++)
•
• // Last i elements are already
• // in place
• for (j = 0; j < n - i - 1; j++)
• if (arr[j] > arr[j + 1])
• swap(arr, j, j + 1);
• }
• void printArray(int arr[], int size)
• {
• int i;
• for (i = 0; i < size; i++)
• printf("%d ", arr[i]);
• printf("\n");
• }
•
• // Driver code
• int main()
• {
• int arr[] = { 5, 1, 4, 2, 8 };
• int N = sizeof(arr) / sizeof(arr[0]);
• bubbleSort(arr, N);
• printf("Sorted array: ");
• printArray(arr, N);
• return 0;
• }