C Online Compiler
Example: qsort Integers Ascending and Descending in C
C
C++
C#
Java
Python
PHP
main.c
STDIN
Run
// qsort Integers Ascending and Descending #include <stdio.h> #include <stdlib.h> // For qsort // Comparison function for ascending order (a - b) int compareAscending(const void *a, const void *b) { int int_a = *(const int *)a; // Cast void* to int* and dereference int int_b = *(const int *)b; // Cast void* to int* and dereference return int_a - int_b; } // Comparison function for descending order (b - a) int compareDescending(const void *a, const void *b) { int int_a = *(const int *)a; int int_b = *(const int *)b; return int_b - int_a; } void printArray(const char *msg, int arr[], int n) { printf("%s: ", msg); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { // Step 1: Initialize an integer array int arr[] = {50, 20, 80, 10, 90, 30, 70, 40, 60}; int n = sizeof(arr) / sizeof(arr[0]); printArray("Original array", arr, n); // Step 2: Sort in ascending order qsort(arr, n, sizeof(int), compareAscending); printArray("Sorted (Ascending)", arr, n); // Step 3: Sort in descending order // Re-initialize array for clear demonstration int arr_desc[] = {50, 20, 80, 10, 90, 30, 70, 40, 60}; qsort(arr_desc, n, sizeof(int), compareDescending); printArray("Sorted (Descending)", arr_desc, n); return 0; }
Output
Clear
ADVERTISEMENTS