#include <stdio.h> #include <stdint.h> void swap(uint8_t *x,uint8_t *y){ *x^=*y; *y^=*x; *x^=*y; } void bubble_sort(uint8_t *arr, uint8_t n) { // Your logic here if (n==0){ return ; } int count=0; for(int i=0;i<n-1;i++){ if(arr[i]<arr[i+1]){ swap(&arr[i],&arr[i+1]); count++; } } if (count == 0){ return ; } bubble_sort(arr,n-1); } int main() { uint8_t n; scanf("%hhu", &n); uint8_t arr[100]; for (uint8_t i = 0; i < n; i++) { scanf("%hhu", &arr[i]); } bubble_sort(arr, n); for (uint8_t i = 0; i < n; i++) { printf("%hhu", arr[i]); if(i < n-1){ printf(" "); } } return 0; }
Test Cases
Test Results
Input
5 10 3 5 2 7
Expected Output
10 7 5 3 2