struct tipo_lista_libro {
char titulo[20];
char autor[25];
float precio;
struct tipo_lista_libro *sig;
};
struct tipo_lista_libro *ordenar_lista_libros_seleccion(struct tipo_lista_libro *lista) {
struct tipo_lista_libro *lista_aux = NULL, *lista_aux2 = NULL;
struct tipo_lista_libro libro;
lista_aux = lista;
if (lista != NULL) {
while (lista_aux->sig != NULL) {
lista_aux2 = lista_aux->sig;
while (lista_aux2 != NULL) {
if (strcmp(lista_aux->titulo, lista_aux2->titulo)>0) {
//Copiamos el contenido de lista_aux a una variable temporal
strcpy(libro.titulo, lista_aux->titulo);
strcpy(libro.autor, lista_aux->autor);
libro.precio = lista_aux->precio;
//Copiamos el contenido de lista_aux2 a lista_aux
strcpy(lista_aux->titulo, lista_aux2->titulo);
strcpy(lista_aux->autor, lista_aux2->autor);
lista_aux->precio = lista_aux2->precio;
//Copiamos en lista_aux2 el contenido de la variable auxiliar
strcpy(lista_aux2->titulo, libro.titulo);
strcpy(lista_aux2->autor, libro.autor);
lista_aux2->precio = libro.precio;
}
lista_aux2 = lista_aux2->sig;
}
lista_aux = lista_aux->sig;
}
}
return lista;
}
Para ver el resultado de una prueba de la ejecución de este programa visita el siguiente enlace:char titulo[20];
char autor[25];
float precio;
struct tipo_lista_libro *sig;
};
struct tipo_lista_libro *ordenar_lista_libros_seleccion(struct tipo_lista_libro *lista) {
struct tipo_lista_libro *lista_aux = NULL, *lista_aux2 = NULL;
struct tipo_lista_libro libro;
lista_aux = lista;
if (lista != NULL) {
while (lista_aux->sig != NULL) {
lista_aux2 = lista_aux->sig;
while (lista_aux2 != NULL) {
if (strcmp(lista_aux->titulo, lista_aux2->titulo)>0) {
//Copiamos el contenido de lista_aux a una variable temporal
strcpy(libro.titulo, lista_aux->titulo);
strcpy(libro.autor, lista_aux->autor);
libro.precio = lista_aux->precio;
//Copiamos el contenido de lista_aux2 a lista_aux
strcpy(lista_aux->titulo, lista_aux2->titulo);
strcpy(lista_aux->autor, lista_aux2->autor);
lista_aux->precio = lista_aux2->precio;
//Copiamos en lista_aux2 el contenido de la variable auxiliar
strcpy(lista_aux2->titulo, libro.titulo);
strcpy(lista_aux2->autor, libro.autor);
lista_aux2->precio = libro.precio;
}
lista_aux2 = lista_aux2->sig;
}
lista_aux = lista_aux->sig;
}
}
return lista;
}
http://codepad.org/qkNxYv08 en Codepad. Allí podéis ver el código completo y los resultados de la ejecución.
No hay comentarios:
Publicar un comentario