]> git.llucax.com Git - z.facultad/75.06/jacu.git/commitdiff
copio el z para que no se tenga que procesar todo el choclo de nuevo
authorNicolás Dimov <ndimov@gmail.com>
Wed, 23 Jun 2004 04:08:44 +0000 (04:08 +0000)
committerNicolás Dimov <ndimov@gmail.com>
Wed, 23 Jun 2004 04:08:44 +0000 (04:08 +0000)
src/mtf/main.c
src/mtf/mtf.c
src/mtf/mtf.h

index 796950a35e9dc0768763285d28c7ca77f5855aaa..a6f9bda9567edd7021d703df4a4909bf5554398e 100644 (file)
@@ -11,11 +11,11 @@ int main(int argc, char *argv[] )
        char *z, *dato;
        char *pos;
        int len;
        char *z, *dato;
        char *pos;
        int len;
-       int i, size;
+       int i, size, z_len;
        
        len = fread(buff, 1, BUFFER_SIZE, stdin);
        buff[len] = '\0';
        
        len = fread(buff, 1, BUFFER_SIZE, stdin);
        buff[len] = '\0';
-       pos = jacu_mtf(buff, len);
+       pos = jacu_mtf(buff, len, &z, &z_len);
        for(i=0; i<len; i++)
                printf("%d ",pos[i]);/*putchar(pos[i]);*/
 
        for(i=0; i<len; i++)
                printf("%d ",pos[i]);/*putchar(pos[i]);*/
 
@@ -31,4 +31,3 @@ int main(int argc, char *argv[] )
 
        return 0;
 }
 
        return 0;
 }
-
index 6326b5e0cecb4a23e8e87d533d959719a896958b..bdb423c7b9d365776db5d6fad291666ade33675a 100644 (file)
@@ -24,16 +24,13 @@ char *jacu_mtf(char *datos, int len, char **_z, int *z_len)
        
        pos = (char *)malloc(len*sizeof(char));
        z = jacu_buscar_z(datos, len, &size);
        
        pos = (char *)malloc(len*sizeof(char));
        z = jacu_buscar_z(datos, len, &size);
-       (*_z) = jacu_buscar_z(datos, len, &size);
-
+       *_z = (char*)malloc(len*sizeof(char));
+       memcpy(*_z, z, len*sizeof(char));
        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("pos de %c = %d\n", datos[i], pos[i]);
                if (pos[i] != 0) 
                        pop_front(z, pos[i]);
        }
                if (pos[i] != 0) 
                        pop_front(z, pos[i]);
        }
-
-       /*(*_z) = z;*/
        (*z_len) = size;
        return pos;
 }
        (*z_len) = size;
        return pos;
 }
index 0972de36f4122b923c7147599b1758c9d5184170..d313b55c18c65992af5ef170105054e4bd53544a 100644 (file)
@@ -2,6 +2,7 @@
 #define _MFT_H_
 #include <stdio.h>
 #include <stdlib.h>
 #define _MFT_H_
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 char *jacu_mtf(char *datos, int len, char **_z, int *z_len);
 
 
 char *jacu_mtf(char *datos, int len, char **_z, int *z_len);