C Online Compiler
Example: Merge Two Sorted Arrays (Concatenate and Sort) Program
C
C++
C#
Java
Python
PHP
main.c
STDIN
Run
// Merge Two Sorted Arrays (Concatenate and Sort) #include
#include
// Required for malloc #include
// Required for memcpy // For qsort #include
// Comparison function for qsort int compare(const void *a, const void *b) { return (*(int*)a - *(int*)b); } int main() { int arr1[] = {1, 3, 5, 7}; int n1 = sizeof(arr1) / sizeof(arr1[0]); int arr2[] = {2, 4, 6, 8, 9}; int n2 = sizeof(arr2) / sizeof(arr2[0]); int n_merged = n1 + n2; int *mergedArr = (int *)malloc(n_merged * sizeof(int)); // Dynamically allocate memory if (mergedArr == NULL) { printf("Memory allocation failed!\n"); return 1; } // Step 1: Copy elements from arr1 to mergedArr memcpy(mergedArr, arr1, n1 * sizeof(int)); // Step 2: Copy elements from arr2 to mergedArr, starting after arr1's elements memcpy(mergedArr + n1, arr2, n2 * sizeof(int)); // Step 3: Sort the entire merged array qsort(mergedArr, n_merged, sizeof(int), compare); // Step 4: Print the merged array printf("Merged array (Naive Approach): "); for (int i = 0; i < n_merged; i++) { printf("%d ", mergedArr[i]); } printf("\n"); free(mergedArr); // Free dynamically allocated memory return 0; }
Output
Clear
ADVERTISEMENTS