ciao a tutti,ho creato un array di 10 elementi numerici non ordinati,devo crearne uno con gli stessi elementi ordinati,in quale modo posso risolverlo,senza utilizzare delle funzioni native come ad esempio la funzione sort?
ringrazio anticipatamente.
ciao a tutti,ho creato un array di 10 elementi numerici non ordinati,devo crearne uno con gli stessi elementi ordinati,in quale modo posso risolverlo,senza utilizzare delle funzioni native come ad esempio la funzione sort?
ringrazio anticipatamente.
Ti fanno schifo le funzioni già pronte?![]()
Codice PHP:<?php
$array = array(3,7,6,4,5,9,11,13,1,2);
for($x = 0; $x < count($array); $x++) {
for($y = 0; $y < count($array); $y++) {
if($array[$x] < $array[$y]) {
$temp = $array[$x];
$array[$x] = $array[$y];
$array[$y] = $temp;
}
}
}
echo '<pre>';
print_r($array)
?>
anche se non mi è molto chiaro cosa hai fatto con quei due cicli..
per funzionare funziona.. .. beh ... direi che è il classico ciclo di ordinamento..
mette il minore al primo posto.. poi passa al secondo e cercaca il valore + basso dal 2 posto in poi... etc etc..
se nn ti piace ci sono il buble sort il quick sort.. .. sono algoritmi che puoi adattare a php senza utilizzare la funzione sort..
ma $x e $y che sono contenuti nei cicli for cosa rappresentano?
.. sono indici.. .. è la variabile per stabilire a che punto è il ciclo e quando deve finire.. ... sono praticamente la base degli algoritmi dei cicli..VVoVe:
che sono gli indici era ok,non mi è molto chiaro questi due cicli for cosa fanno.ci mediterò su,anzi ci fonderò su.eheh
supponiamo che l'array sia di 4 elementi..
2341
primo elemento 2
confronto col 3 è minore?
si ok
confornto con 4 è minore?
si ok
confronto con 1 è minore ? no..
scambio.. ottengo
1342
secondo elemnto 3
confronto con 4 è minore?
si ok
confronto con 1 è minore?
no scambio .. ottengo
1243
terzo elemento
confronto con 4 è minore?
no.. scambio ottengo
1234
e così via..
Li vedi i 2 cicli?
si li vedo,ti ringrazio veramente tanto.