Está en la página 1de 4

DAVID STEVEN PEREZ RENDON 1114787862

1
2 package listap;
3
4
5 public class ListaP {
6
7
8 public static void main(String[] args) {
9
10 Lista l1 = new Lista();
11 Lista l2 = new Lista();
12 Lista l3 = new Lista();
13 Lista l4 = new Lista();
14
15 l1.adicionar(1);
16 l1.adicionar(2);
17 l1.adicionar(3);
18
19 l2.adicionar(4);
20 l2.adicionar(5);
21 l2.adicionar(6);
22
23 l3.adicionar(7);
24 l3.adicionar(8);
25 l3.adicionar(9);
26
27 l4.adicionar(88);
28 l4.adicionar(77);
29 l4.adicionar(66);
30
31 System.out.println("Lista 1");
32 l1.imprimir();
33
34 System.out.println("Lista 2");
35 l2.imprimir();
36
37 System.out.println("Lista 3");
38 l3.imprimir();
39
40
41 /* System.out.println("Lista 1 y lista 2");
42 l1.unir(l2.cab);
43 l1.imprimir();
44
45 System.out.println("Lista, lista 2 y lista 3");
46 l1.unir(l3.cab);
47 l1.imprimir(); */
48
49
50
51 /* System.out.println("Añadir nuevo nodo");
52 l1.adicionarDespuesDeP(l2.cab.sig.sig,88);
53 l1.imprimir();*/
54
55 /*System.out.println("Unir una lista a otras dos");
56 l1.unir2(l2.cab,l3.cab);
57 l1.imprimir();*/
58
59 System.out.println("Probar metodo Buscar");
60 Boolean respuesta = l1.buscar(2);
61 System.out.println("¿Está? :"+ respuesta.toString());
62
63 System.out.println("Probar metodo Acumular");
64 //Solo me deja usar el metodo si lo invoco desde una
instancia, pero funciona//
65 System.out.println(l1.acumular(l1.cab));
66
67 System.out.println("Probar metodo Adicionar despues de P y
antes de Q");
68 l1.adicionarEntrePQ(l2.cab,l3.cab,88);
69 l1.imprimir();
70
71
72 }

C:\Users\ASUS\Documents\NetBeansProjects\ListaP\src\listap\L
ista.java
1
2 package listap;
3
4 import jdk.nashorn.api.tree.ReturnTree;
5
6
7 public class Lista {
8 nodo cab;
9
10 public Lista(){
11 cab = null;
12 }
13
14 void adicionar(int x){
15 nodo nuevo = new nodo(x);
16 nuevo.sig = cab;
17 cab = nuevo;
18 }
19
20 void unir(nodo p){
21 nodo aux = cab;
22 while(aux.sig != null){
23 aux=aux.sig;
24 }
25 aux.sig=p;
26 }
27
28 void adicionarDespuesDeP(nodo p, int x){
29 nodo aux = p.sig;
30 nodo nuevo = new nodo(x);
31 p.sig=nuevo;
32 nuevo.sig=aux;
33 }
34
35 void unir2(nodo a, nodo b){
36 nodo aux = cab;
37 while(aux.sig!=null){
38 aux=aux.sig;
39 }
40 aux.sig=a;
41 nodo auxx = cab;
42 while(auxx.sig!=null){
43 auxx=auxx.sig;
44 }
45 auxx.sig=b;
46 }
47
48 void imprimir(){
49 nodo aux = cab;
50
51 while(aux.sig != null){
52 System.out.println(aux.info);
53 aux=aux.sig;
54 }
55
56 }
57
58 /*Construir un método denominado buscar que reciba un entero como
59 parámetro de entrada y debe devolver true si el entero que se
60 pasa como parámetro se encuentra dentro de la lista, en caso
contrario devolver false.*/
61
62 Boolean buscar(int x){
63 boolean encontrado;
64 nodo aux = cab;
65 while(aux.info != x){
66 encontrado=false;
67 aux=aux.sig;
68 }
69 encontrado=true;
70 return encontrado;
71 }
72
73 /*Construir un método denominado acumular que acumule todos los
valores
74 almacenados en el campo info de la lista simple y devuelva el
valor del acumulado.*/
75
76 int acumular(nodo x){
77 int rta=0;
78 nodo aux = cab;
79 while(aux.sig != null){
80 rta+=aux.info;
81 aux=aux.sig;
82 }
83 return rta;
84 }
85
86 /*Construir un método denominado adicionarentrepq que reciba dos
apuntadores
87 y un entero como parámetros de entrada,
88 el método debe adicionar un nuevo nodo entre p y q.*/
89
90 void adicionarEntrePQ(nodo p, nodo q, int x){
91 nodo aux = cab;
92 while(aux.sig != null){
93 aux=aux.sig;
94 }
95 aux.sig=q;
96 }
97 }

1
2 package listap;
3
4 public class nodo {
5 int info;
6 nodo sig;
7
8 public nodo(int x) {
9 info = x;
10 }

También podría gustarte