зацикливание и тестирование, независимо от языка программирования, хотя большинство языков программирования имеют встроенные методы для выполнения задач такого типа (поэтому вы можете указать, какой язык вы должны использовать для домашней работы):
procfun get_element:
index=0
for element in set:
if element is 5 then return (element,index)
increment index
your "5" is in element and at set[index]
получение диапазона:
procfun getrange:
subset = []
index = 0
for element in set:
if element is -3:
push element in subset
while index < length(set)-1:
push set[index] in subset
if set[index] is 4:
return subset
increment index
#if we met "-3" but we didn't met "4" then there's no such range
return None
#keep searching for a "-3"
increment index
return None
если запустить против A, подмножество будет [-3, -8, 0, 1, 2, 3, 4]; это алгоритм «первого совпадения, первого захвата» бедняков. на отсортированных наборах алгоритмы могут стать умнее и быстрее.