Buongiorno ,il professore ci ha dato da studiare l'algoritmo di ordinamento per selezione e per inserimento.Sono andato a dargli un occhiata,ma in pratica i cicli for che stanno nelle function di ordinamento e selezione non mi sono x nulla chiari.Chi mi puo dare una spiegazione.Grazie
#include <stdio.h>
#include <stdlib.h>
void scambia(int a[],int i,int j)
{ int temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
void selezione(int a[10],int n)
{
int i,j;
for (i=0;i<=n-2;i++) /*Questi due cicli for cosa fanno in pratica*/
for (j=i+1;j<=n-1;j++)
if (a[i]>a[j])
scambia(a,i,j);
}
void inserimento(int a[],int n,int numero)
{
int i,k;
i=0;
while (a[i]<numero)
i=i+1;
for(k=n-2;k>=i;k--) /*Questo ciclo for cosa fa?*/
a[k+1]=a[k];
a[i]=numero;
}
int main()
{
int k;
int array[10]={5,6,70,80,100,11,12,34,54,80};
selezione(array,10);
inserimento(array,10,23);
for(k=0;k<10;k++)
printf(" %d , ",array[k]);
}