/ / Shift všetky čísla v poli - c, polia, triedenie

Presuňte všetky čísla do poľa - c, polia, triedenie

Vlastne som vyriešil výzvu v Hackerrank. „Som nováčikom v programovaní. Výzvou, ktorej čelím je zobraziť počet posunov, ktoré je potrebné na zoradenie daného celočíselného poľa. To, čomu som nerozumel, je spôsob, ako presunúť všetky čísla do triedeného poľa. Existuje nejaký jednoduchý spôsob, ako to urobiť?

odpovede:

1 pre odpoveď č. 1

Predpokladám že Temp, index a počítať sú celočíselné premenné. (temp = 0 a počet = 0). rad je pole, ktoré chceme zoradiť. n je dĺžka. \ t rad, Ak je hodnota elementu aktuálneho poľa nižšia ako hodnota skorších elementov, tieto hodnoty sa vymenia a zakaždým, keď je swap, 1 sa pridá k počítať.

  for (int c = 1 ; c <= n - 1; c++) {
index= c;

while ( index > 0 && array[index] < array[index-1]) {
temp          = array[index];
array[index]   = array[index-1];
array[index-1] = temp;
count=count+1;
index--;
}
}