Advertisement
Martupi8

Untitled

Oct 15th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include "types/list.h"
  5. #include "types/hash_table.h"
  6. #include "types/types.h"
  7.  
  8. hash_table f2(list* cadenas){
  9.     hash_table dicc = hash_table_empty(int_type, list_type);
  10.     int i=0;
  11.     while(i<cadenas->size){
  12.         if(hash_table_contains(&dicc, (&(*((string*)list_get(cadenas,i))).size))){
  13.             string s = *(string*)list_get(cadenas,i);
  14.             int x = (*((string*)list_get(cadenas,i))).size;
  15.             list_add(hash_table_get(&dicc, &x), &s);
  16.         }
  17.         else{
  18.             list lista = list_empty(string_type);
  19.             string s = *(string*)list_get(cadenas,i);
  20.             list_add(&lista, &s);
  21.             hash_table_put(&dicc, &((*((string*)list_get(cadenas,i))).size), &lista);
  22.         }
  23.         i++;
  24.     }
  25.     return dicc;
  26. }
  27.  
  28. int main(){
  29.     string s = string_empty();
  30.     char p[]="Pedrito";
  31.     string_add_pchar(&s, &p);
  32.     string s1 = string_empty();
  33.     char p1[]="clavo";
  34.     string_add_pchar(&s1, &p1);
  35.     string s2 = string_empty();
  36.     char p2[]="un";
  37.     string_add_pchar(&s2, &p2);
  38.     string s3 = string_empty();
  39.     char p3[]="clavito";
  40.     string_add_pchar(&s3, &p3);
  41.     string listita2[]={s, s1, s2, s3};
  42.     list lista2 = list_of(listita2, 6, int_type);
  43.     char mem2[1024];
  44.     hash_table diccSol = f2(&lista2);
  45.     printf("%s\n", string_tostring(&diccSol,mem2));
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement