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 int comparar(const void *d1, const void *d2)
29 int *jacu_mtf(char *datos, int len)
35 pos = (int*)malloc(len*sizeof(int));
36 z = jacu_buscar_z(datos, len, &size);
37 fprintf(stderr, "Z original = ");
39 fprintf(stderr, "SIZE = %d\n", size);
40 /*z[0]='A';z[1]='B';z[2]='C';z[3]='D';z[4]='R';*/
42 qsort(z, size, 1, comparar);
43 fprintf(stderr, "Z ordenado = ");
47 pos[i] = get_pos(z, size, datos[i]);
48 fprintf(stderr, "vino %c emiti: %d\n",datos[i], pos[i]);
57 char *jacu_buscar_z(char* datos, int len, int *size)
62 z = NULL; /*(char*)malloc(1);*/
63 /*if (z==NULL) return NULL;*/
65 if( no_pertenece(z, datos[i], j) == -1 ){
67 z = realloc(z, j*sizeof(char));
76 int no_pertenece(char *z, char c, int len)
80 /* XXX Z NO TIENE 255 POSICIONES XXX */
87 void pop_front(char *z, int pos)
98 int get_pos(char *z, int len, char c)
101 if (z==NULL) return -1;
103 for(pos=0; pos<len; pos++)