题目:有等长的数组A、B,所含元素相同,但顺序不同,只能取得A数组某值和B数组某值进行比较,比较结果为大于、小于或等于,但是不能取得同一数租A或B中的两个数进行比较,也不能取得某数组中的某个值。写一个算法实现正确匹配(即A数组中某值与B中某值等值)
算法:用两层循环,第一层循环里依次取A中的一个元素,利用循环在B中寻找与A中这个元素值相同的元素,然后打印出来,就这样依次循环查找。
代码如下:
#include <iostream>
using namespace std;
void matching(int a[], int b[], int k)
{
int i = 0;
while(i <= k-1)
{
int j = 0;
while(j <= k-1)
{
if(a[i] == b[j])
{
cout << "a[" << i << "] " << "match" << " b[" << j << "] " << endl;
break;
}
j++;
}
i++;
}
cout << endl;
}
int main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int b[10] = {10,6,4,5,1,8,7,9,3,2};
int k = sizeof(a)/sizeof(int);
matching(a,b,k);
return 0;
}
结果为: