Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include "types/list.h"
- #include "types/hash_table.h"
- #include "types/types.h"
- hash_table f2(list* cadenas){
- hash_table dicc = hash_table_empty(int_type, list_type);
- int i=0;
- while(i<cadenas->size){
- if(hash_table_contains(&dicc, (&(*((string*)list_get(cadenas,i))).size))){
- string s = *(string*)list_get(cadenas,i);
- int x = (*((string*)list_get(cadenas,i))).size;
- list_add(hash_table_get(&dicc, &x), &s);
- }
- else{
- list lista = list_empty(string_type);
- string s = *(string*)list_get(cadenas,i);
- list_add(&lista, &s);
- hash_table_put(&dicc, &((*((string*)list_get(cadenas,i))).size), &lista);
- }
- i++;
- }
- return dicc;
- }
- int main(){
- string s = string_empty();
- char p[]="Pedrito";
- string_add_pchar(&s, &p);
- string s1 = string_empty();
- char p1[]="clavo";
- string_add_pchar(&s1, &p1);
- string s2 = string_empty();
- char p2[]="un";
- string_add_pchar(&s2, &p2);
- string s3 = string_empty();
- char p3[]="clavito";
- string_add_pchar(&s3, &p3);
- string listita2[]={s, s1, s2, s3};
- list lista2 = list_of(listita2, 6, int_type);
- char mem2[1024];
- hash_table diccSol = f2(&lista2);
- printf("%s\n", string_tostring(&diccSol,mem2));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement