Ir para conteúdo
Fórum Script Brasil
  • 0

Tabela Hashing em C


Psyhclo

Pergunta

eu to c um trabalho de tabela hashing em C.

eu já fiz a funcao para gerar as chaves e já fiz o mod de cada chave e guardei cada um em seu respecivo vetor. so que o mod e a posicao na tabela hash, ou seja se eu tenho que o mod de 2000 pra 17 e 11, então 2000 vai ficar na 11 posicao da tabela. então gostaria de saber como fazer pra fazer essa comparacao, ou seja, jogar o valor pra posicao na tabela hash cujo e o valor do seu mod.

segue o codigo abaixo, eu tentei colocar em um CODEBOX, mas tava dando inativo , então mandei assim mesmo, desculpa. mas analisem e ajudem quem puder, obrigado.

int gerar()

{

int i,j,z,r,numero,chaves[12],mod[12], tab_hash[17];

/* inicializar o gerador de números aleatórios */

/* com time(NULL) */

numero=rand() % 8201;

printf("Numeros Gerados\n");

for (i=0; i<12; i++){

chaves = rand() % 6200 + 2000;

printf("%d ", chaves);

}

//--------------------------------------------------

printf("\n\n\tMod dos numeros gerados\n\n");

for(i=0;i<12;i++){

mod = chaves % 17;

printf(" %d ",mod);

}

//--------------------------------------------------

}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

int gerar()
{
  int i,j,z,r,numero,chaves[12],mod[12], tab_hash[17] = { 0 };
  /* inicializar o gerador de números aleatórios */
  /* com time(NULL) */

  numero=rand() % 8201;
  printf("Numeros Gerados\n");
  for (i=0; i<12; i++){
    chaves[i] = rand() % 6200 + 2000;
    printf("%d ", chaves[i]);
  }
  //--------------------------------------------------
  printf("\n\n\tMod dos numeros gerados\n\n");

  for(i=0;i<12;i++){
    mod[i] = chaves[i] % 17;
    printf(" %d ",mod[i]);

  }
  //--------------------------------------------------
  printf("\n\n\tTabela Hash\n\n");

  for (i = 0; i < 12; i++)
    tab_hash[mod[i]] = chaves[i];
  for (i = 0; i < 17; i++)
    printf(" %d ", tab_hash[i]);
  printf("\n");
}

[EDITADO] Ah, e crie uma lista encadeada para tratar as duplicatas se elas te incomodam, acho que é o meio mais prático.

Editado por == Douplus ==
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...