How to Sort an Array in Ascending Order in C - Step by Step Examples
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,
- Create an array of integers, for example,
numbers
. - Define a comparison function, for example,
compareInts
, to compare two integers. - Use the
qsort
function to sort the array of integers in-place based on the comparison function. - 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,
- Create an array of strings, for example,
words
. - Define a comparison function, for example,
compareStrings
, to compare two strings. - Use the
qsort
function to sort the array of strings in-place based on the comparison function. - 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
- 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 ?