Маска сети содержит 22 бита, значит, она имеет вид 255.255.252.0 - в ней ровно 22 бита, по 8 в 255 и 6 в 252, выровненные влево на адреса хостов внутри сети остаётся 10 бит из 32-х, 10 бит - это 1024 адреса, из которых два служебных, адрес сети и широковещательный Адрес сети получается из ip адреса обнулением всех бит хостов ip 134.5.169.172 = 10000110.00000101.101010 01.10101100 net = 10000110.00000101.101010 00.00000000 = 134.5.168.0 широковещательный адрес в этой сети получается заменой всех битов хостов на 1 broadcast = 10000110.00000101.101010 11.11111111 = 134.5.171.255 Остающиеся 1022 хоста начинаются с 134.5.168.1 и заканчиваются на 134.5.171.254
на адреса хостов внутри сети остаётся 10 бит из 32-х, 10 бит - это 1024 адреса, из которых два служебных, адрес сети и широковещательный
Адрес сети получается из ip адреса обнулением всех бит хостов
ip 134.5.169.172 = 10000110.00000101.101010 01.10101100
net = 10000110.00000101.101010 00.00000000 = 134.5.168.0
широковещательный адрес в этой сети получается заменой всех битов хостов на 1
broadcast = 10000110.00000101.101010 11.11111111 = 134.5.171.255
Остающиеся 1022 хоста начинаются с 134.5.168.1 и заканчиваются на 134.5.171.254
{
int n = 0; // количество перестановок
double fakt = 1.2473309; // фактор уменьшения
int step = sort.size() - 1;
while (step >= 1)
{
for (int i = 0; i + step < sort.size(); ++i)
{
if (sort[i] > sort[i + step])
{
swap(sort[i], sort[i + step]);
n++;
}
}
step /= fakt;
}
// сортировка пузырьком
for (int i = 0; i < sort.size() - 1; i++)
{
bool swapped = false;
for (int j = 0; j < sort.size() - i - 1; j++)
{
if (sort[j] > sort[j + 1]) {
swap(sort[j], sort[j + 1]);
swapped = true;
++n;
}
}
if (!swapped)
break;
}
return n;
}