4 int no_pertenece(char *z, char c, int len);
6 void pop_front(char *z, int pos);
8 int get_pos(char *z, int len, char c);
9 /****fin privadas******/
11 void print_z(char *z, int len)
15 fprintf(stderr, "%c", z[i]);
16 fprintf(stderr, "\n");
19 char *jacu_mtf(char *datos, int len, char **_z, int *z_len)
25 pos = (char *)malloc(len*sizeof(char));
26 z = jacu_buscar_z(datos, len, &size);
28 pos[i] = get_pos(z, size, datos[i]);
29 printf("pos de %c = %d\n", datos[i], pos[i]);
39 char *jacu_mtf_inv(char *z, char *pos, int len)
44 datos = (char*)malloc(sizeof(char)*len);
46 datos[i] = z[(size_t)pos[i]];
52 char *jacu_buscar_z(char* datos, int len, int *size)
59 if( no_pertenece(z, datos[i], j) == -1 ){
61 z = realloc(z, j*sizeof(char));
70 int no_pertenece(char *z, char c, int len)
74 /* XXX Z NO TIENE 255 POSICIONES XXX */
81 void pop_front(char *z, int pos)
92 int get_pos(char *z, int len, char c)
95 if (z==NULL) return -1;
97 for(pos=0; pos<len; pos++)