Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Количество вопросов в сутки зависит от вашего уровня.Количество вопросов в сутки зависит от вашего уровня.12345

ЛалалаЛалалаЛалала Лалала Эксперт пока не указал должность 2 месяца назад
Голосование за лучший ответ
Дарья Меркулова Мыслитель (8545) 3 месяца назад
 function combsort($array) 
{
$sizeArray = count($array);

// Проходимся по всем элементам массива
for ($i = 0; $i < $sizeArray; $i++) {

// Сравниваем попарно.
// Начинаем с первого и последнего элемента, затем постепенно уменьшаем
// диапазон сравниваемых значеный.
for ($j = 0; $j < $i + 1; $j++) {

// Индекс правого элемента в текущей итерации сравнения
$elementRight = ($sizeArray - 1) - ($i - $j);

if ($array[$j] > $array[$elementRight]) {

$buff = $array[$j];
$array[$j] = $array[$elementRight];
$array[$elementRight] = $buff;
unset($buff);

}

}
}

return $array;
}
Дарья МеркуловаМыслитель (8545) 3 месяца назад
мой коммент 1
Дарья Меркулова Мыслитель (8545) Дарья Меркулова, ответ на коммент 1
Дарья МеркуловаМыслитель (8545) 3 месяца назад
коммент 2
ЛалалаЛалалаЛалала Лалала112222ыыы (10043) 3 месяца назад
мой коммент 1
ЛалалаЛалалаЛалала Лалала112222ыыы (10043) 3 месяца назад
еще один коммент
ЛалалаЛалалаЛалала Лалала 112222ыыы (10043) ЛалалаЛалалаЛалала Лалала, вложенный коммент11
ЛалалаЛалалаЛалала Лалала112222ыыы (10043) 3 месяца назад
 public static void CombSort(byte[] bytes, bool swapped = false, double factor = 1.2473309) 
{
ulong gap = (ulong)bytes.Length;

while ((gap > 1) || swapped)
{
gap = (ulong)(gap / factor);
if (gap < 1) gap = 1;
ulong i = 0;
ulong m = gap;
swapped = false;
while (m < (ulong)bytes.Length)
{
if (bytes[i] > bytes[m])
{
swapped = true;
byte t = bytes[i];
bytes[i] = bytes[m];
bytes[m] = t;
}
i++;
m = i + gap;
}
}
}
Похожие вопросы