Urgente; Insertar elementos en lista s. enlazada
Publicado por Alanitax (4 intervenciones) el 22/06/2007 00:26:05
Hola!! ya solucione el problema, gracias por su tiempo.... Ahora tengo otro problema, para llenar la lista tengo que leer los datos que estan en un archivo .upl, por cada linea leida en el archivo hago una insercion en la lista, pero esta al parecer reemplaza la informacion insertada anteriormente, es decir, en todos los nodos se guarda la ultima linea del archivo, a mi me parece que es un error en el procedimiento insertar pero ni idea de donde...
Aqui les mando la info y los procedimientos que estoy usando
Info del archivo:
C:\iTunes Music\Blind Melon.mp3
C:\iTunes Music\Mr. Johns.mp3
D:\Mis videos\Heroes chapter 15.avi
implementacion utilizada:
//Procedimiento insertar en la lista
public: void insertar(T x, posicion p){
Nodo *nuevo;
nuevo= new Nodo;
nuevo->info=x;
nuevo->prox=p;
if ((pri==NULL)||(p==pri)){
pri=nuevo;
}
else{
Nodo *q=pri;
while (q->prox!=p){
q=q->prox;
}
q->prox=nuevo;
}
n++;
}
//Procedimiento cargar la info del archivo a la lista
void cargar_info_archivo(){
char name[100];
char audiovideo[100];
char elemento[100];
int cant=0, t;
pos=Lista.primero();
FILE *input;
strcpy(name, namelist);
input=fopen(name,"r");
if (input!=NULL){
while (!feof(input)){
fgets(audiovideo,100,input);
t=strlen(audiovideo);
audiovideo[t]='\0';
strcpy(elemento,audiovideo);
//aqui deberia ir insertando en la lista el nombre de cada elemento en el archivo
Lista.insertar(elemento,pos);
// printf("pos= %s",pos);
}
}else{
printf("ERROR AL LEER EL ARCHIVO O ARCHIVO NO ENCONTRADO");
}
Lista.mostrar();
fclose(input);
}
//LO QUE MUESTRA POR PANTALLA ES:
D:\Mis videos\Heroes chapter 15.avi
D:\Mis videos\Heroes chapter 15.avi
D:\Mis videos\Heroes chapter 15.avi
Si se les ocurre algo de como acomodar esto se los agradeceria muchiiiiiiisimo, y disculpen mi ignorancia pero apenas es q estoy aprendiendo a usar las listas jajajaja ;-p
PD: Espero que me haya explicado mejor esta vez.. Thanks!!
Aqui les mando la info y los procedimientos que estoy usando
Info del archivo:
C:\iTunes Music\Blind Melon.mp3
C:\iTunes Music\Mr. Johns.mp3
D:\Mis videos\Heroes chapter 15.avi
implementacion utilizada:
//Procedimiento insertar en la lista
public: void insertar(T x, posicion p){
Nodo *nuevo;
nuevo= new Nodo;
nuevo->info=x;
nuevo->prox=p;
if ((pri==NULL)||(p==pri)){
pri=nuevo;
}
else{
Nodo *q=pri;
while (q->prox!=p){
q=q->prox;
}
q->prox=nuevo;
}
n++;
}
//Procedimiento cargar la info del archivo a la lista
void cargar_info_archivo(){
char name[100];
char audiovideo[100];
char elemento[100];
int cant=0, t;
pos=Lista.primero();
FILE *input;
strcpy(name, namelist);
input=fopen(name,"r");
if (input!=NULL){
while (!feof(input)){
fgets(audiovideo,100,input);
t=strlen(audiovideo);
audiovideo[t]='\0';
strcpy(elemento,audiovideo);
//aqui deberia ir insertando en la lista el nombre de cada elemento en el archivo
Lista.insertar(elemento,pos);
// printf("pos= %s",pos);
}
}else{
printf("ERROR AL LEER EL ARCHIVO O ARCHIVO NO ENCONTRADO");
}
Lista.mostrar();
fclose(input);
}
//LO QUE MUESTRA POR PANTALLA ES:
D:\Mis videos\Heroes chapter 15.avi
D:\Mis videos\Heroes chapter 15.avi
D:\Mis videos\Heroes chapter 15.avi
Si se les ocurre algo de como acomodar esto se los agradeceria muchiiiiiiisimo, y disculpen mi ignorancia pero apenas es q estoy aprendiendo a usar las listas jajajaja ;-p
PD: Espero que me haya explicado mejor esta vez.. Thanks!!
Valora esta pregunta


0