How to Shuffle an Array in C - Step by Step Examples
How to Shuffle an Array in C ?
Answer
In C, you can shuffle an array using the Fisher-Yates shuffle algorithm.
✐ Examples
1 Shuffle Array of Integers
In this example,
- We have an array named
intArray
containing integers. - We apply the Fisher-Yates shuffle algorithm to
intArray
. - We print the shuffled array to demonstrate the shuffling.
C Program
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void shuffleArray(int array[], int n) {
srand(time(NULL));
for (int i = n - 1; i > 0; i--) {
int j = rand() % (i + 1);
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
int main() {
int intArray[] = {1, 2, 3, 4, 5};
int n = sizeof(intArray) / sizeof(int);
shuffleArray(intArray, n);
printf("Shuffled Array: ");
for (int i = 0; i < n; i++) {
printf("%d ", intArray[i]);
}
return 0;
}
Output
Shuffled Array: 5 2 3 4 1
2 Shuffle Array of Strings
In this example,
- We have an array named
strArray
containing strings. - We apply the Fisher-Yates shuffle algorithm to
strArray
. - We print the shuffled array to demonstrate the shuffling.
C Program
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void shuffleArray(char *array[], int n) {
srand(time(NULL));
for (int i = n - 1; i > 0; i--) {
int j = rand() % (i + 1);
char *temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
int main() {
char *strArray[] = {"apple", "banana", "cherry"};
int n = sizeof(strArray) / sizeof(strArray[0]);
shuffleArray(strArray, n);
printf("Shuffled Array: ");
for (int i = 0; i < n; i++) {
printf("%s ", strArray[i]);
}
return 0;
}
Output
Shuffled Array: banana cherry apple
Summary
In this tutorial, we learned How to Shuffle 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 ?