How to Sort an Array in Ascending Order in C


How to Sort an Array in Ascending Order in C ?

Answer

To sort an array in ascending order in C, you can use the `qsort` function from the `stdlib.h` library for both arrays of integers and arrays of strings.



✐ Examples

1 Sort Array of Integers

In this example,

  1. Create an array of integers, for example, numbers.
  2. Define a comparison function, for example, compareInts, to compare two integers.
  3. Use the qsort function to sort the array of integers in-place based on the comparison function.
  4. Print the sorted array to see the result.

C Program

#include <stdio.h>
#include <stdlib.h>

int compareInts(const void* a, const void* b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int numbers[] = {5, 2, 8, 1, 9};
    int size = sizeof(numbers) / sizeof(numbers[0]);
    qsort(numbers, size, sizeof(int), compareInts);
    for (int i = 0; i < size; i++) {
        printf("%d ", numbers[i]);
    }
    return 0;
}

Output

1 2 5 8 9

2 Sort Array of Strings

In this example,

  1. Create an array of strings, for example, words.
  2. Define a comparison function, for example, compareStrings, to compare two strings.
  3. Use the qsort function to sort the array of strings in-place based on the comparison function.
  4. Print the sorted array to see the result.

C Program

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int compareStrings(const void* a, const void* b) {
    return strcmp(*(const char**)a, *(const char**)b);
}

int main() {
    char* words[] = {"apple", "banana", "cherry", "date"};
    int size = sizeof(words) / sizeof(words[0]);
    qsort(words, size, sizeof(char*), compareStrings);
    for (int i = 0; i < size; i++) {
        printf("%s ", words[i]);
    }
    return 0;
}

Output

apple banana cherry date 

Summary

In this tutorial, we learned How to Sort an Array in Ascending Order in C language with well detailed examples.




More C Arrays Tutorials

  1. How to Declare an Array in C ?
  2. How to Initialize an Array in C ?
  3. How to Access Array Elements in C ?
  4. How to Access Array Elements using Index in C ?
  5. How to get First Element in Array in C ?
  6. How to get Last Element in Array in C ?
  7. How to check if an Array is Empty in C ?
  8. How to check if an Array is Not Empty in C ?
  9. How to get Sub Array in C ?
  10. How to Get Array Length in C ?
  11. How to Iterate Over an Array in C ?
  12. How to Iterate Over an Array in Reverse Order in C ?
  13. How to get the Index of Specified Element in an Array in C ?
  14. How to check if Specified Element is present in the Array in C ?
  15. How to count the Number of Occurrences of Specified Element in the Array in C ?
  16. How to Sort an Array in C ?
  17. How to Sort an Array in Ascending Order in C ?
  18. How to Sort an Array in Descending Order in C ?
  19. How to create a Two Dimensional Array in C ?
  20. How to Iterate over a Two Dimensional Array in C ?
  21. How to create a Three Dimensional Array in C ?
  22. How to Copy an Array in C ?
  23. How to Split an Array in C ?
  24. How to Join Arrays in C ?
  25. How to check if Two Arrays are Equal in C ?
  26. How to check if Two Arrays have Same Elements (Regardless of Order) in C ?
  27. How to Convert an Array of Integers to an Array of Strings in C ?
  28. How to Convert an Array of Strings to an Array of Integers in C ?
  29. How to Reverse an Array in C ?
  30. How to Shuffle an Array in C ?
  31. How to Rotate Elements in an Array in C ?
  32. How to Filter Elements of an Array based on a Condition in C ?
  33. How to Declare an Integer Array in C ?
  34. How to Declare a Float Array in C ?
  35. How to Declare a String Array in C ?
  36. How to Remove Duplicates in an Array in C ?
  37. How to Remove Specific Element from an Array in C ?
  38. How to Remove Element from Array based on a Condition in C ?
  39. How to Sort a String Array in Dictionary Order in C ?
  40. How to Concatenate Strings in Array in C ?