#include <stdio.h>
//數組列印函數
void Print(int *x, int N)
{
int i;
for(i=; i<N; i++)
{
printf("%-3d", x[i]);
}
printf("\n");
}
//數組合并函數
void Merge_function(int *str1, int *str2)
{
int M= ;
int out[M];//輸出數組
int i=, j=, k=;
while (i< && j<){
//循環将較小元素放入C
if (str1[i]<str2[j])
{
out[k]=str1[i];
i++;
k++;
}
else{
out[k]=str2[j];
j++;
k++;
}
}//while
if(i==){
//第1個數組元素已經全部放到C中,将第2個數組剩餘元素全放到C中
while (j<)
{
out[k]=str2[j];
k++;
j++;
}
}
if(j==){
//第2個數組元素已經全部放到C中,将第1個數組剩餘元素全放到C中
while (i<)
{
out[k]=str1[i];
k++;
i++;
}
}
printf("兩個數組合并之後:\n");
Print(out, M);
}
void main()
{
int N = ;
int a[] = {, , , , , , };
int b[] = {, , , , , , };
printf("a數組合并之前:\n");
Print(a, N);
printf("b數組合并之前:\n");
Print(b, N);
//調用數組合并函數
Merge_function(a, b);
}