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) = jacu_buscar_z(datos, len, &size);
30 pos[i] = get_pos(z, size, datos[i]);
31 printf("pos de %c = %d\n", datos[i], pos[i]);
41 char *jacu_mtf_inv(char *z, char *pos, int len)
46 datos = (char*)malloc(sizeof(char)*len);
48 datos[i] = z[(size_t)pos[i]];
54 char *jacu_buscar_z(char* datos, int len, int *size)
61 if( no_pertenece(z, datos[i], j) == -1 ){
63 z = realloc(z, j*sizeof(char));
72 int no_pertenece(char *z, char c, int len)
76 /* XXX Z NO TIENE 255 POSICIONES XXX */
83 void pop_front(char *z, int pos)
94 int get_pos(char *z, int len, char c)
97 if (z==NULL) return -1;
99 for(pos=0; pos<len; pos++)