Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    residenza
    Siena
    Messaggi
    2

    Creazione hash tables con liste di trabocco in Linguaggio C Please Urgente!!!!

    Questo è l'esercizio che ho portato all'esame il codice lo trovate sotto dopo il testo dell'intestazione:
    "Scrivere un programma che legga da tastiera una sequenza di n interi distinti e li inserisca in una tabella hash di dimensione 2n posizioni utilizzando
    liste monodirezionali per risolvere eventuali conflitti.
    Utilizzare la funzione hash h(x)=((ax + b)%p)%2n dove p `e
    il numero primo 999149 e a e b sono interi positivi minori di 10.000 scelti
    casualmente.
    Una volta inseriti tutti gli interi, il programma deve stampare la lunghezza massima delle liste e il numero totale di conflitti.
    Prima di scrivere il programma chiedersi perchè la tabella ha dimensione
    2n e non n.
    "

    Aiutatemi a risolvere questo esercizio anche se oramai è andata.. il prof ci ha vietato gli stack.
    Questo l'avevo preparato ma lui ha detto che non va appunto perchè ci sono gli stack lo esige senza
    e più elementare. Qui c'è il link al mauale dell'esercizio, Circa pag. [20-24], se vi dovesse servire e aiutare a carpire meglio..

    codice:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    typedef struct elem
    {
    char valore[15];
    struct elem* next;
    } List;
    typedef List stack;
    int main()
    {
    
    stack* ht[20];
    for(int i=0;i<sizeof(ht)/sizeof(stack*);i++) {
    ht[i] = (stack*)malloc(sizeof(stack));
    char s[20];
    sprintf(s, "Valore: %d\n", i);
    strcpy(ht[i]->valore, s);
    printf(ht[i]->valore);
    }
    stack* htPtr = &(*ht[0]);
    printf((htPtr++)->valore);
    system("pause");
    return 0;
    }
    Come l'avreste Risolto Voi?
    Grazie Mille a tutti coloro che mi daranno consigli e pareri!!!
    Ciao
    Ultima modifica di Meken; 01-07-2014 a 15:54 Motivo: Correzzione Testo

Tag per questa discussione

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.