Ciao a tutti stavo ragionando su questo codice che consente di ordinare, in maniera ottimizzata, dei valori numerici all'interno di un array:
#include<stdio.h>
int main ()
{
int k, i, p, vet [4] = {4,3,2,1}, n, temp;
n=4;
p=n
do {
k=0;
for (i=0;i<n-1;i++){
if(vet>vet[i+1]){
temp = vet;
vet = vet[i + 1];
vet[i + 1] = temp;
k = 1;
}
}
n=p;
p=i + 1;
}
while (k==1 && n>1);
for(i=0;i<n;i++){
printf("%d\n", vet);
}
}
Sicneramente non m'è molto chiara la parte in grassetto, soprattutto l'utilizzo delle variabili p,n, k e temp mi potreste spiegare a parole il loro funzionamento? Questo programma ordina dal più piccolo al più grande, se volessi farne uno dal più grande al più piccolo?
Grazie in anticipo