How to Sort an Array in C - Step by Step Examples
How to Sort an Array in C ?
Answer
To sort an array in C, you can use the qsort() function from the stdlib.h library.
✐ Examples
1 Sort Integer Array in Ascending Order
In this example,
- We create an integer array named
numbers
with values 5, 2, 8, 1, 6. - We define a compare function
compare
that compares two integers. - We use the
qsort()
function with our compare function to sort the array in ascending order. - Finally, we print the sorted array
numbers
to the console.
C Program
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int numbers[] = {5, 2, 8, 1, 6};
int n = sizeof(numbers) / sizeof(numbers[0]);
qsort(numbers, n, sizeof(int), compare);
printf("Sorted array in ascending order: ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
Output
Sorted array in ascending order: 1 2 5 6 8
2 Sort Integer Array in Descending Order
In this example,
- We create an integer array named
numbers
with values 5, 2, 8, 1, 6. - We define a compare function
compare
that compares two integers in reverse order. - We use the
qsort()
function with our reverse compare function to sort the array in descending order. - Finally, we print the sorted array
numbers
to the console.
C Program
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)b - *(int*)a);
}
int main() {
int numbers[] = {5, 2, 8, 1, 6};
int n = sizeof(numbers) / sizeof(numbers[0]);
qsort(numbers, n, sizeof(int), compare);
printf("Sorted array in descending order: ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
Output
Sorted array in descending order: 8 6 5 2 1
Summary
In this tutorial, we learned How to Sort an Array in C language with well detailed examples.
More C Arrays Tutorials
- How to Declare an Array in C ?
- How to Initialize an Array in C ?
- How to Access Array Elements in C ?
- How to Access Array Elements using Index in C ?
- How to get First Element in Array in C ?
- How to get Last Element in Array in C ?
- How to check if an Array is Empty in C ?
- How to check if an Array is Not Empty in C ?
- How to get Sub Array in C ?
- How to Get Array Length in C ?
- How to Iterate Over an Array in C ?
- How to Iterate Over an Array in Reverse Order in C ?
- How to get the Index of Specified Element in an Array in C ?
- How to check if Specified Element is present in the Array in C ?
- How to count the Number of Occurrences of Specified Element in the Array in C ?
- How to Sort an Array in C ?
- How to Sort an Array in Ascending Order in C ?
- How to Sort an Array in Descending Order in C ?
- How to create a Two Dimensional Array in C ?
- How to Iterate over a Two Dimensional Array in C ?
- How to create a Three Dimensional Array in C ?
- How to Copy an Array in C ?
- How to Split an Array in C ?
- How to Join Arrays in C ?
- How to check if Two Arrays are Equal in C ?
- How to check if Two Arrays have Same Elements (Regardless of Order) in C ?
- How to Convert an Array of Integers to an Array of Strings in C ?
- How to Convert an Array of Strings to an Array of Integers in C ?
- How to Reverse an Array in C ?
- How to Shuffle an Array in C ?
- How to Rotate Elements in an Array in C ?
- How to Filter Elements of an Array based on a Condition in C ?
- How to Declare an Integer Array in C ?
- How to Declare a Float Array in C ?
- How to Declare a String Array in C ?
- How to Remove Duplicates in an Array in C ?
- How to Remove Specific Element from an Array in C ?
- How to Remove Element from Array based on a Condition in C ?
- How to Sort a String Array in Dictionary Order in C ?
- How to Concatenate Strings in Array in C ?