Se realizara un programa para atencion de una clinica
Los paciente debe tener 3 atributos Prioridad, Ficha y nombre
Los nodos de la lista deben guardar un atributo de tipo paciente con la informacion anteriror
Los pacientes se ordenran en la lista de acuerdo a la prioridad siendo 1 la de mayor prioridad
Si existe mas de un paciente con la misma prioridad se ordenara por el numero de ficha
NO se puede insertar mas de un paciente con la misma prioridad y ficha. --------------------------------------------------------------------------------------------------------------------------------------------------
Ya tengo adelantado una parte pero el problema esta cuando la prioridades son las mismas y debo ordenar con el numero de ficha.
El ejercicio trata de:
Se realizara un programa para atencion de una clinica
Los paciente debe tener 3 atributos Prioridad, Ficha y nombre
Los nodos de la lista deben guardar un atributo de tipo paciente con la informacion anteriror
Los pacientes se ordenran en la lista de acuerdo a la prioridad siendo 1 la de mayor prioridad
Si existe mas de un paciente con la misma prioridad se ordenara por el numero de ficha
NO se puede insertar mas de un paciente con la misma prioridad y ficha.
--------------------------------------------------------------------------------------------------------------------------------------------------
Ya tengo adelantado una parte pero el problema esta cuando la prioridades son las mismas y debo ordenar con el numero de ficha.
**ESTA ES LA CLASE PACIENTE:
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
public class Paciente {
private int prioridad;
private int ficha;
private String nombre;
public Paciente(int prioridad, int ficha, String nombre) {
this.prioridad = prioridad;
this.ficha = ficha;
this.nombre = nombre;
}
public int getPrioridad() {
return prioridad;
}
public void setPrioridad(int prioridad) {
this.prioridad = prioridad;
}
public int getFicha() {
return ficha;
}
public void setFicha(int ficha) {
this.ficha = ficha;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@Override
public String toString() {
return "Paciente{" + "prioridad=" + prioridad + ", ficha=" + ficha + ", nombre=" + nombre + '}';
}
}
**ESTA ES LA CLASE NODO:
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
public class Nodo {
private Paciente dato;
private Nodo next;
public Nodo(Paciente dato) {
this.dato = dato;
}
public Paciente getDato() {
return dato;
}
public void setDato(Paciente dato) {
this.dato = dato;
}
public Nodo getNext() {
return next;
}
public void setNext(Nodo next) {
this.next = next;
}
@Override
public String toString() {
return "Nodo{" + "dato =" + dato + '}' + "\n";
}
}
**Y ESTA LA CLASE LISTA
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
public class Lista {
private Nodo cabeza;
private Nodo ultimo;
public void inserta(Paciente p) {
if (cabeza == null) {
cabeza = new Nodo(p);
ultimo = cabeza;
ultimo.setNext(cabeza);
} else {
if (p.getPrioridad() <cabeza.getDato().getPrioridad()) {
Nodo aux = new Nodo(p);
aux.setNext(cabeza);
cabeza = aux;
ultimo.setNext(cabeza);
} else {
if (p.getPrioridad() > ultimo.getDato().getPrioridad()) {
Nodo aux = new Nodo(p);
ultimo.setNext(aux);
ultimo = aux;
ultimo.setNext(cabeza);
} else {
Nodo aux = cabeza;
while (p.getPrioridad() > aux.getNext().getDato().getPrioridad()) {
aux = aux.getNext();
}
Nodo temp = new Nodo(p);
temp.setNext(aux.getNext());
aux.setNext(temp);
aux = aux.getNext();
}
}
}
}
public String toString() {
String msj = "";
Nodo aux = cabeza;
if (aux != null) {
msj += aux;
aux = aux.getNext();
while (aux != cabeza) {
msj += aux;
aux = aux.getNext();
}
} else {
msj = "Lista vacia";
}
return msj;
}
}