]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - otros/mtf/mtf.c
Fucking olvidada :-D
[z.facultad/75.06/jacu.git] / otros / mtf / mtf.c
index 6d59e9bd9f719cd8d63af5a5c5cf17b5f1e5958a..993b9dabe858b01e337e25d1907e376621740ff5 100644 (file)
@@ -12,10 +12,19 @@ void print_z(char *z, int len)
 {
        int i;
        for(i=0; i<len; i++)
 {
        int i;
        for(i=0; i<len; i++)
-               printf("%c", z[i]);
-       printf("\n");
+               fprintf(stderr, "%c", z[i]);
+       fprintf(stderr, "\n");
 }
 
 }
 
+int comparar(const void *d1, const void *d2)
+{
+       char *c1, *c2;
+
+       c1 = (char *)d1;
+       c2 = (char *)d2;
+
+       return (*c1) - (*c2);
+}
 
 int *jacu_mtf(char *datos, int len)
 {
 
 int *jacu_mtf(char *datos, int len)
 {
@@ -25,13 +34,18 @@ int *jacu_mtf(char *datos, int len)
        
        pos = (int*)malloc(len*sizeof(int));
        z = jacu_buscar_z(datos, len, &size);
        
        pos = (int*)malloc(len*sizeof(int));
        z = jacu_buscar_z(datos, len, &size);
-       printf("Z original = ");
+       fprintf(stderr, "Z original = ");
+       print_z(z, size);
+       fprintf(stderr, "SIZE = %d\n", size);
+       /*z[0]='A';z[1]='B';z[2]='C';z[3]='D';z[4]='R';*/
+       /* Ordeno */
+       qsort(z, size, 1, comparar);
+       fprintf(stderr, "Z ordenado = ");
        print_z(z, size);
        print_z(z, size);
-       printf("SIZE = %d\n", size);
-       z[0]='A';z[1]='B';z[2]='C';z[3]='D';z[4]='R';
+
        for(i=0; i<len; i++){
                pos[i] = get_pos(z, size, datos[i]);
        for(i=0; i<len; i++){
                pos[i] = get_pos(z, size, datos[i]);
-               printf("vino %c emiti: %d\n",datos[i], pos[i]);
+               fprintf(stderr, "vino %c emiti: %d\n",datos[i], pos[i]);
                if (pos[i] != 0) 
                        pop_front(z,pos[i]);
                print_z(z, size);
                if (pos[i] != 0) 
                        pop_front(z,pos[i]);
                print_z(z, size);