Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255

    [C] chi mi aiuta con l'array ordinamento

    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]);

    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    chi mi da una spiegazione di quest'algoritmo?
    grazie

  3. #3
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    innanzitutto calma... che abbiamo da fare un po tutti... :master:

    allora perchè non inizi con indentare bene il codice così è più comprensibile???

    1) selezione???
    non mi sembra tanto l'algoritmo di selezione, più che altro e il bubble sort...
    e comunque fa un'ordinamento a coppie di valori partendo dai 2 elementi vettore[i] e vettore[i+1], li confronta e se il primo è maggiore del secondo li scambia.
    2) insertion sort
    come dice la parola l'algoritmo non fa altro che mettere l'elemento nella posizione corretta del vettore, il ciclo for interno sposta tutti gli elementi maggiori di elemento verso destra e alla fine del ciclo si mette al suo posto elemento...
    e come quando giochi a tresette e metti le carte sul tavolo, ne prendi una per una e le metti sulle mani al loro posto relativo giusto!!!

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.