//INSERTAR EN LISTA1 Nodo *insertarLista(Nodo *cabeza, Nodo *cabeza1){ Nodo *aux = cabeza; while(aux!=NULL){ cabeza1=Lista(cabeza1, aux->dato); aux = aux->sig; } return cabeza1; }
int* THASHCalendario::BuscarLista(const TListaCalendario& lista)const { int *result= new int[lista.Longitud()]; bool salir; if(!lista.EsVacia()) { TListaCalendario tabla_en_lista=Lista(); TListaPos actual=lista.Primera(); TListaPos actual_tabla=tabla_en_lista.Primera(); //volcamos tabla a una lista int pos_en_lista=0; int pos_en_listatabla=1; while (!actual.EsVacia() && Tamanyo()>0) { salir=false; if(tabla_en_lista.Buscar(lista.Obtener(actual)))//Entra si es encontrado en la tabla { while(!salir) { if (lista.Obtener(actual)==tabla_en_lista.Obtener(actual_tabla)) { result[pos_en_lista]=pos_en_listatabla; //~ actual_tabla=actual_tabla.Siguiente(); salir=true; } else { actual_tabla=actual_tabla.Siguiente(); pos_en_listatabla++; } } } else//No esta en la tabla hash { result[pos_en_lista]=0; } pos_en_lista++; actual=actual.Siguiente(); actual_tabla=tabla_en_lista.Primera(); pos_en_listatabla=1; } }else result=NULL; return result; }
//METODO QUE LEE EL ARCHIVO .TXT EN INSERTA EN LA LISTA Nodo *leerArchivo(Nodo *cabeza){ printf("Coloque la ruta del archivo que contiene los datos\n"); char archivo[TAMANO]; scanf("%s", archivo); FILE* flujo = fopen(archivo, "rb"); if(flujo == NULL){ perror("Error no se pudo leer el archivo\n"); return 1; } int dato; while(feof(flujo)==0){ fscanf(flujo, "%d", &dato); cabeza = Lista(cabeza, dato); } fclose(flujo); printf("El archivo fue leido exitosamente \n"); return cabeza; }