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);
27 *_z = (char*)malloc(len*sizeof(char));
28 memcpy(*_z, z, len*sizeof(char));
30 pos[i] = get_pos(z, size, datos[i]);
38 char *jacu_mtf_inv(char *z, char *pos, int len)
43 datos = (char*)malloc(sizeof(char)*len);
45 datos[i] = z[(size_t)pos[i]];
51 char *jacu_buscar_z(char* datos, int len, int *size)
58 if( no_pertenece(z, datos[i], j) == -1 ){
60 z = realloc(z, j*sizeof(char));
69 int no_pertenece(char *z, char c, int len)
73 /* XXX Z NO TIENE 255 POSICIONES XXX */
80 void pop_front(char *z, int pos)
91 int get_pos(char *z, int len, char c)
94 if (z==NULL) return -1;
96 for(pos=0; pos<len; pos++)