MYYA
2019-07-11 12:38:34
搜索數(shù)組報告“找不到”,即使找到了這是一個通用的問題和答案,這是一個邏輯錯誤,我在許多來自不同語言的新程序員的問題中看到過。問題是在數(shù)組中搜索與某些輸入條件匹配的元素。該算法,在偽代碼中,如下所示: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條經(jīng)驗 獲得超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
函數(shù),該函數(shù)接受回調(diào)函數(shù),并返回一個布爾值,指示數(shù)組中的任何元素是否成功。 如果語言具有數(shù)組過濾功能,則可以使用檢查條件的函數(shù)過濾輸入數(shù)組,然后檢查結(jié)果是否為空數(shù)組。 如果要與元素完全匹配,大多數(shù)語言都會提供 find
或 index
函數(shù),該函數(shù)將搜索匹配的元素。
set
hash table
添加回答
舉報
0/150
提交
取消