C Language Example - Splitting and Merging Arrays
Split an array into two arrays, one for odd numbers and one for even numbers:
Example
#include <stdio.h>
int main() {
int array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int even[10], odd[10];
int loop, e, d;
e = d = 0;
for(loop = 0; loop < 10; loop++) {
if(array[loop]%2 == 0) {
even[e] = array[loop];
e++;
}else {
odd[d] = array[loop];
d++;
}
}
printf("Original array ->");
for(loop = 0; loop < 10; loop++)
printf(" %d", array[loop]);
printf("\n even ->");
for(loop = 0; loop < e; loop++)
printf(" %d", even[loop]);
printf("\n odd ->");
for(loop = 0; loop < d; loop++)
printf(" %d", odd[loop]);
return 0;
}
The output result is:
原始数组 -> 0 1 2 3 4 5 6 7 8 9 偶数 -> 0 2 4 6 8 奇数 -> 1 3 5 7 9
Merge the odd array and the even array into one array:
Example
#include <stdio.h>
int main() {
int array[10];
int even[5] = {0, 2, 4, 6, 8};
int odd[5] = {1, 3, 5, 7, 9};
int loop, index, e_len, o_len;
e_len = o_len = 5;
index = 0;
for(loop = 0; loop < e_len; loop++) {
array[index] = even[loop];
index++;
}
for(loop = 0; loop < o_len; loop++) {
array[index] = odd[loop];
index++;
}
printf("\n even ->");
for(loop = 0; loop < e_len; loop++)
printf(" %d", even[loop]);
printf("\n odd ->");
for(loop = 0; loop < o_len; loop++)
printf(" %d", odd[loop]);
printf("\n merged ->");
for(loop = 0; loop < 10; loop++)
printf(" %d", array[loop]);
return 0;
}
The output result is:
偶数 -> 0 2 4 6 8 奇数 -> 1 3 5 7 9 合并后 -> 0 2 4 6 8 1 3 5 7 9other extensions