-
Notifications
You must be signed in to change notification settings - Fork 0
/
ListaLibros.java
89 lines (79 loc) · 2.13 KB
/
ListaLibros.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* Lista de libro de una biblioteca
*
* @author (Alberto)
* @version (5/04/2019)
*/
public class ListaLibros{
Libro primero;
/**
* Constructor for objects of class ListaNodos
*/
public ListaLibros(){
primero = null;
}
// Completar los metodos
// Incluye un nuevo libro en la lista
public void pon( Libro valor){
valor.siguiente = primero;
primero = valor;
}
public boolean estaVacia(){
return ( primero == null );
}
// Devuelve un libro que es eliminado de la lista o null si no exite
public Libro quitar ( int id ) {
Libro aux = null;
if ( estaVacia() ){
return null;
}
if (primero.id == id){
aux = primero;
primero = primero.siguiente;
return aux;
}
Libro paux1 = primero;
Libro paux2 = primero.siguiente;
while ( paux2 != null){
if ( paux2.id==id){
// Lo salto
paux1.siguiente = paux2.siguiente;
aux= paux2;
break;
}
paux1 = paux2;
paux2 = paux2.siguiente;
}
return aux;
}
// Devuelve el id del libro o -1 si no esta
public int buscarId ( String titulo ){
int aux = -1;
if ( estaVacia()){
return aux;
}
if (primero.titulo.equals(titulo)){
aux = primero.id;
return aux;
}
Libro paux1 = primero;
while ( paux1 != null){
if (paux1.titulo.equals(titulo)){
aux = paux1.id;
break;
}
paux1 = paux1.siguiente;
}
return aux;
}
// Muestra los libros almacenados
public void verCatalogo (){
int numNodos = 0;
Libro aux = primero;
while ( aux != null ){
numNodos++;
System.out.println( numNodos + " : " + aux.toString());
aux = aux.siguiente;
}
}
}