Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    si ho capito...ma devo visualizzarla e nel fratt ordinarla...x questo voglio fare na lista a cui poi applico il quick sort.
    Le strutture sono queste:

    codice:
    typedef struct
    {
        char        *nome_job;
        int         id_job;
        //array       *astringhe;
        char        *host_name;
        int         wall_time;
        time_t      start_time;          // chiave primaria
        time_t      end_time;            // chiave
        long int    priority;            // chiave
        int         user_id;
    }tipo_record;
    
    typedef time_t tipo_chiave;
    
    typedef int hashTableIndex;     /* indice dell'hashTable */
    
    typedef struct Node_ {
        struct Node_ *next;         /* puntatore al prossimo nodo */
        tipo_record  record;        /* info memorizzata nel nodo */
    } Node;
    
    //typedef Node Lista;    // puntatore alla testa della lista
    
    Node **hashTable;
    int hashTableSize;

    Ho fatto un vettore di puntatori che puntano alle varie liste....

  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    ke ne pensi??

  3. #13
    Dimmi che cosa dovrebbe fare questo ciclo:
    codice:
        for(j=0;j<dim;j++)
        {
            for(;tmpHash[j]!=NULL;tmpHash[j]=tmpHash[j]->next)
            {
                    tmp = malloc(sizeof(Node));
                    tmp->next =NULL;
                    if(tmp==0)
                    {
                       printf("Impossibile inserire memoria piena\n");
                       return;
                    }
                    tmp->record=tmpHash[j]->record;
                    tmp->next=tmpHash[j]->next;
            }
        }
    Experience is what you get when you don’t get what you want

  4. #14
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    dovrebbe concatenare le varie liste non nulle puntate dall'hash table in un'unica lista....

  5. #15
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    ho trovato l'errore....quel ciclo si ferma alla prima lista puntata xchè alla fine è null!!! devo fare in altro modo...tipo sapendo i nodi di ogni lista....vediamo ke mi posso inventare :-)

  6. #16
    Quel ciclo è sbagliato ...
    Vedi un po' se ci arrivi da solo, se no ti aiuto io ...

    EDIT:
    Bravo XD
    Experience is what you get when you don’t get what you want

  7. #17
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    scusami...ma quando finisce il ciclo

    for(;tmpHash[j]!=NULL;tmpHash[j]=tmpHash[j]->next)

    xchè è finita la prima lista...non dovrebbe scattare il ciclo più in alto

    for(j=0;j<dim;j++)

    che mi sposta nella seconda lista??

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    sto sclerando....nel primo blocco:
    codice:
    tmp2 = tmpHash[0];
        for(j=0;j<dim;j++)
        {
            
            for(;tmpHash[j]!=NULL;tmpHash[j]=tmpHash[j]->next)
            {
                    tmp = malloc(sizeof(Node));
                    if(tmp==0)
                    {
                       printf("Impossibile inserire memoria piena\n");
                       return;
                    }
                    tmp->record=tmpHash[j]->record;
                    tmp->next=tmpHash[j]->next;
                    printf("tmp= %d\n",tmp->record.start_time);
            }
        }
    mi faccio stampare i nodi che inserisce e son giusti!
    Quando poi mi faccio stampare tutta la lista con:

    codice:
    for(;tmp2!=NULL;tmp2=tmp2->next)
                   {
                       printf("----------------------------------------\n");
                       printf("tmp2 = %d \n",tmp2->record.start_time);
                       printf("----------------------------------------\n");   
                       
                   }
    mi stampa solo la gli elementi della prima lista puntata dall'hash!!
    cosa c'è di sbagliato nel primo ciclo???

  9. #19
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    allora...mi aiuti a sbrogliare sta matassa...sto quasi impazzendo...ho fatto tutte le prove possibili e immaginabili!

  10. #20
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    43
    sei ancora vivo?? cosi come ti pare? mi sto avvicinando? :-)
    codice:
    for(j=0;j<dim;j++)
        {
            
            for(;tmpHash[j]!=NULL;tmpHash[j]=tmpHash[j]->next)
            {
            
                    tmp = malloc(sizeof(Node));
                    if(tmp==0)
                    {
                       printf("Impossibile inserire memoria piena\n");
                       return;
                    }
                    tmp->record=tmpHash[j]->record;
                    if(tmpHash[j]->next!=NULL) {tmp->next=tmpHash[j]->next;printf("QUI1\n");}
                    else {tmp->next=tmpHash[j+1]; printf("QUI2\n");}
                    printf("j= %d\n",j);
                    printf("tmp= %d\n",tmp->record.start_time);
            }
            
            
            
        }
    i printf li stampa giusti...ma poi il risultato nn è quello voluto!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.