Enter target value and click "Start" to begin search
C
int linearSearch(int arr[], int n, int target) { for (int i = 0; i < n; i++) { if (arr[i] == target) return i;
} return-1;
}
C++
int linearSearch(int arr[], int n, int target) { for (int i = 0; i < n; i++) { if (arr[i] == target) return i;
} return-1;
}
Java
int linearSearch(int arr[], int target) { for (int i = 0; i < arr.length; i++) { if (arr[i] == target) return i;
} return-1;
}
Go
func linearSearch(arr []int, target int) int{ for i, val := range arr { if val == target { return i
} } return-1 }
PHP
function linearSearch(array $arr, int $target): int{ for ($i = 0; $i < count($arr); $i++) { if ($arr[$i] === $target) return $i;
} return-1;
}
Perl
sub linearSearch { my ($arr_ref, $target) = @_;
for (my $i = 0; $i < scalar(@{$arr_ref}); $i++) { if ($arr_ref->[$i] == $target) return $i;
} return-1;
}
Python
def linearSearch(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return-1
Ruby
def linearSearch(arr, target)
arr.each_with_index do |val, i|
return i if val == target
end -1 end
Delphi
function LinearSearch(const Arr: arrayof Integer; Target: Integer): Integer;
var i: Integer;
begin for i := 0to High(Arr) do if Arr[i] = Target then Exit(i);
Result := -1;
end;
Rust
fn linearSearch(arr: &[i32], target: i32) -> Option<usize> {
for (i, &val) in arr.iter().enumerate() {
if val == target {
returnSome(i);
}
}
None }
Assembler
mov eax, target
xor ecx, ecx
search_loop: cmp ecx, n
jge not_found
mov edx, [arr + ecx*4]
cmp edx, eax
je found
inc ecx
jmp search_loop
found: ; ecx contains index
ret not_found: mov ecx, -1 ret
JavaScript
function linearSearch(arr, target)
{ for (var i = 0; i < arr.length; i++) { if (arr[i] === target) return i;
} return-1;
}
Lua
function linearSearch(arr, target)
for i = 1, #arr do if arr[i] == target then return i
end end return-1 end