CIAO..è il primo post che scrivo..volevo chiedere un aiuto grossissimo..pochi giorni fa mi è stato spiegato l insertion sort..e ho copiato anche il codice che è stato scrittoo ma ho 2 problemi:
1) non ricordo bene come funziona e non lo capisco tramite internet
2) questo codice non funziona e vorrei che qualcuno mi desse una mano per favore

posto il codice:

codice:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h> //definisce una costante INT MAX cioè l intero più grande stampabile


int main(int argc,char*argv[]){  //argc indica il numero degli elementi dell array
    int dati[argc - 1],i,j,k,dato;
    
    for(i=0;i<argc-1;i++)
     dati[i]=INT_MAX;
    for(i=0;i<argc-1;i++){
    dato = atoi(argv[i+1]); //atoi interpreta i caratteri della stringa come un numero
    j=0;
    while(dato>dati[j])
    j++;
    for(k=argc-3;k>=j;k--)
    dati[k+1]=dati[k];
    dati[j]=dato;
    }

    }
confido in voi.grazie!