Salve a tutti! devo creare una funziona che mi ordini i numeri all'interno di un vettore in maniera crescente, ho utilizzato l'algoritmo "bubble sort", ma temo che mi manca un passaggio perchè non riesco ad ordinarlo bene, esempio:
se ho i numeri 15 35 92 21 27 26 26, me li riscrive come 15 21 21 21 26 26 26 e non li ordina, quindi penso che il problema sia nello scambiare il valore delle signole celle, il seguente è il codice che ho scritto:
codice:void sort_dyn_array(dyn_array *da){ int i,j; for(i = 0; i < da -> next_index; i++) for(j = da -> next_index; j > i+1; j--) if(da->V[j-1]<da->V[j]) da -> V[j]=da -> V[j-1]; // V[j] e V[j-1] devono scambiarsi, //quindi devo dirgli che da->V[j] devo metterlo al posto di da->V[j-1] //e viceversa, ma se lo scrivo così e basta finisce per ripetermi un //numero, per esempio 15 21 21 21 26 26 26 }

Rispondi quotando
