我的任务是:
使用
is_element_of
函数,实现一个函数,该函数确定一个数组是否是另一个数组的“子集”(即数组a中的每个元素是否也是数组b的元素)
bool is_subset(int* a, int length_a, int* b, int length_b)
bool is_element_of(int i, int* array, int length)
is_element_of
的代码
bool is_element_of(int i, int* array, int length) {
if (length == 0)
return false;
else {
if (i == array[length - 1] || is_element_of(i, array, length - 1))
return true;
else
return false;
}
}
is_subset的代码
bool is_subset(int* a, int length_a, int* b, int length_b) {
if (length_a == 0 && length_b == 0)
return true;
else if (length_a != 0 && length_b == 0)
return false;
else {
if (
is_element_of(a[length_a], b, length_b) &&
is_subset(a, length_a - 1, b, length_b)
)
return true;
else
return false;
}
}
有人可以指出问题吗?
答案 0 :(得分:0)
在is_subset函数中,在第二行使用此代码, if(length_a == 0)
和
第8行中的使用此代码,
is_element_of(a [length_a-1],b,length_b)&&