合并顺序表
//合并两个顺序表
#include<stdio.h>
#include<stdlib.h>
int *MergeList_L(int* La, int* Lb, int Length_La, int Length_Lb)
{
int* newArray = (int*)malloc(Length_La+Length_Lb);
int k = 0, i = 0, j = 0;
for (; i < Length_La && j < Length_Lb;)
{
*(La + i) < *(Lb + j) ? *(newArray + k++) = *(La + i++) : *(newArray + k++) = *(Lb + j++);
}
while (i < Length_La)
{
*(newArray + k++) = *(La + i++);
}
while (j < Length_Lb)
{
*(newArray + k++) = *(Lb + j++);
}
return newArray;
}
int main()
{
int La[]= { 2,4,5,7,9 };
int Lb[] = { 1,3,5,8 };
int Length_La = sizeof(La) / sizeof(int);
int Length_Lb = sizeof(Lb) / sizeof(int);
int* res;//指针变量来接受新数组
res = MergeList_L(La, Lb, Length_La, Length_Lb);
for (int i = 0; i < Length_La + Length_Lb; i++)
printf("%d\n", *(res + i));
return 0;
}
哪位大佬帮我看一下这个代码为哈会出现异常中断啊。我这儿没出现野指针也没有数组溢出啊。呜呜呜。