c++数组算法问题数组元素

写出下列程序的运行结果。
#include
using namespace std;
main()
{int a1[ ]={1,3,6,7,100},a2[ ]={2,4,5,8,100},a[10],i,j,k;
i=j=0;
for(k = 0;k<8;k++)
if(a1[i]<a2[j])
a[k]=a1[i++];
else
a[k]=a2[j++];
for(k = 0;k<8;k++)
cout<<a[k];
return 0;
}

请问最后一个元素怎么求

程序分析:
分别查找a1,a2数组不同位最小值,并加入到数组a中,并将最小值所在数组的指针+1; 一个循环8次.

所以计算结果是:
12345678

这是归并排序算法?看着像是,你指的是最后一个元素吗?如果前两个元素都是有序的,而且如果到了最后一次,如果两个数组长度相等,那么最后一个直接添加到对应的归并数组中即可,如果长的数组有剩余元素,直接将剩下的元素都一并放入对应的归并后数组中即可。还望采纳。谢谢了。