"D"iving Into the D Programming Language / Погружение в язык Ди

→import std.array;
bool binarySearch(T)(T[] input, T value) {
if (input.empty) return false;
auto i = input.length / 2;
auto mid = input[i];
if (mid > value) return binarySearch(input[0 i]);
if (mid < value) return binarySearch(input[i + 1 $]);
return true;
}
0 import std.array;
bool binarySearch(T)(T[] input, T value) {
if (input.empty) return false;
auto i = input.length / 2;
auto mid = input[i];
if (mid > value) return binarySearch(input[0 i]);
if (mid < value) return binarySearch(input[i + 1 $]);
return true;
}
→assert(binarySearch!(int)([ 1, 3, 6, 7, 9, 15 ], 6));
0 assert(binarySearch!(int)([ 1, 3, 6, 7, 9, 15 ], 6));
→import std.array;
bool binarySearch(T)(T[] input, T value) {
while (!input.empty) {
auto i = input.length / 2;
auto mid = input[i];
if (mid > value) input = input[0 .. i];
else if (mid < value) input = input[i + 1 . $];
else return true;
}
return false;
}
unittest {
assert(binarySearch([ 1, 3, 6, 7, 9, 15 ], 6));
assert(!binarySearch([ 1, 3, 6, 7, 9, 15 ], 5));
}
0 import std.array;
bool binarySearch(T)(T[] input, T value) {
while (!input.empty) {
auto i = input.length / 2;
auto mid = input[i];
if (mid > value) input = input[0 .. i];
else if (mid < value) input = input[i + 1 . $];
else return true;
}
return false;
}
unittest {
assert(binarySearch([ 1, 3, 6, 7, 9, 15 ], 6));
assert(!binarySearch([ 1, 3, 6, 7, 9, 15 ], 5));
}
Резюме
Пол:
мужчина
Родной язык:
русский
С нами:
с 12 июня 2008 г. (6701 день) по приглашению Dogcat
Деятельность:
1570 версий перевода с общим рейтингом 10
74 комментария
Карма: 2 (оценок: 2)
Написать lovermann личное сообщение