您的位置:首页 > 其它

找出两个有序数组中相同的元素

2016-01-07 22:05 357 查看
#include <stdio.h>
#include <stdlib.h>
#define M 5
#define N 7
void intersection(int array1[], int array2[])
{
int i = 0, j = 0;
while (i<M&&j<N)
{
//数组1第一个数和数组2第一个数比较,若小于,再用第二个数和数组2的第一个比较...
while (array1[i]<array2[j])
i++;
while (array1[i]>array2[j])
j++;
while (array1[i] == array2[j])
{
printf("%d ", array1[i]);
//两个数组最后一个数字相同时 a[M-1] == a[N-1] == -858993460(vs2013环境下)
if (i == M - 1 && j == N - 1)
{
return;
}
else
{
i++;
j++;
}

}
}
}
int main()
{
int array1[M] = { 1, 3, 4, 7, 11 };
int array2
= { 2, 3, 5, 6, 7, 8, 11 };
intersection(array1, array2);
system("pause");
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: