搜索数组并进行比较

时间:2014-03-15 17:24:29

标签: c++ arrays

编写一个带有两个整数数组的程序 用户(每个最多50个成员)。第一个数组应该长于 第二个;然后检查第二个数组中是否存在所有成员 在第一个中,以相同的顺序,无论距离如何 第一个数组中的成员。最后,程序告诉用户是否这样 条件是否开启。

1 个答案:

答案 0 :(得分:0)

只要你知道它们的长度,数组的长度没有区别。无论如何你必须检查过去。

这是一个算法:

if length of array2 is greater than 1, end.  // All of array can't be in array 1.

// Find the first element of array 2 that is in array 1:
// Note:  this only searches up to array1.length - array2.length,
//        because of the restriction of ordering and length of array 2.
key = first element of array 2.
found = false;
for (index = 0; index < (array1.length - array2.length); ++index)
  if (array[index] == key) then found = true, break out of loop. 
  end-for
if not found, end.  // No use in detailed searching.

// Now compare the elements of the two arrays, one by one, 
// starting with the second element of array2 and the element
// of array1 at (index + 1).

有更高效的算法,但这应该让你开始,直到有人发布确切的代码,这样你就不必独自完成任何工作。