搜索数组报告“找不到”,即使找到了这是一个通用的问题和答案,这是一个逻辑错误,我在许多来自不同语言的新程序员的问题中看到过。问题是在数组中搜索与某些输入条件匹配的元素。该算法,在伪代码中,如下所示:for each element of Array:
if element matches criteria:
do something with element
maybe break out of loop (if only interested in first match)
else:
print "Not found"此代码报告“未找到”,即使它成功地找到了匹配的元素。
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
found = false for each element of Array: if element matches criteria: do something with element found = true maybe break out of loop (if only interested in first match) if not found: print "Not found"
else:
for
break
found
for element in someIterable: if matchesCriteria(element): print("Found") break else: print("Not found")
有些语言有一个 any
或 some
函数,该函数接受回调函数,并返回一个布尔值,指示数组中的任何元素是否成功。 如果语言具有数组过滤功能,则可以使用检查条件的函数过滤输入数组,然后检查结果是否为空数组。 如果要与元素完全匹配,大多数语言都会提供 find
或 index
函数,该函数将搜索匹配的元素。
set
hash table
添加回答
举报
0/150
提交
取消