Java Linked List Implementation: Insert, Search and Delete Operations

Computer science4.32 KB

Implementación de una Lista Enlazada en Java

A continuación se presenta la clase Lista, que implementa una lista enlazada simple con operaciones de inserción, búsqueda, recorrido y eliminación.

public class Lista {

private Nodo com;

public Lista() {
this.com = null;
}

public Nodo getCom() {
return this.com;
}

public void setCom(Nodo com) {
this.com = com;
}

public void recorrer() {
Nodo p;
p = this.com;
while(p != null) {
System.out.println(p);
p = p.getSig();
}
}

public void addBegin(int dato) {
Nodo nodo = new Nodo();
nodo.setInfo(dato);
nodo.setSig(this.com);
this.com = nodo;
}

public void addMiddleBefore(int dato, Nodo lugar) {
Nodo nodo = new Nodo();
nodo.setInfo(dato);
Nodo q = this.com;
while(q != null && q.getSig() != lugar) {
q = q.getSig();
}
if(q != null) {
nodo.setSig(q.getSig());
q.setSig(nodo);
}
}

public void addMiddle(int dato, Nodo lugar) {
Nodo nodo = new Nodo();
nodo.setInfo(dato);
nodo.setSig(lugar.getSig());
lugar.setSig(nodo);
}

public void addEnd(int dato) {
Nodo nodo;
Nodo p = null;
if(this.com == null) {
this.addBegin(dato);
}else {
nodo = new Nodo(dato);
p = this.com;
while(p.getSig() != null) {
p = p.getSig();
}
p.setSig(nodo);
}
}

public void addSort(int dato) {
Nodo nodo, p, q;
nodo = new Nodo(dato);
if(this.com == null || this.com.getInfo() > dato) {
nodo.setSig(this.com);
this.com = nodo;
}else {
p = this.com;
q = p.getSig();
while(q != null && q.getInfo() < dato) {
p = p.getSig();
q = q.getSig();
}
if(q == null) {
p.setSig(nodo);
}else {
nodo.setSig(p.getSig());
p.setSig(nodo);
}
}
}

public void addLookingForPosition(int dato) {
Nodo p, q, nodo;
nodo = new Nodo(dato);
if(this.com == null || this.com.getInfo() > dato) {
nodo.setSig(this.com);
this.com = nodo;
}else {
p = this.com;
q = this.com.getSig();
while(q != null && q.getInfo() < dato) {
p = p.getSig();
q = q.getSig();
}
nodo.setSig(q);
p.setSig(nodo);
}
}

public Nodo unsortedSearch(int dato) {
Nodo p;
Nodo lugar = null;
boolean sw = false;
p = this.com;
while(p != null && sw == false) {
if(p.getInfo() == dato) {
lugar = p;
sw = true;
}
p = p.getSig();
}
return lugar;
}

public Nodo sortedSearch(int dato) {
Nodo p, lugar;
p = this.com;
while(p != null && p.getInfo() < dato) {
p = p.getSig();
}
if(p == null || p.getInfo() > dato) {
lugar = null;
}else {
lugar = p;
}
return lugar;
}

public void delete(int dato) {
Nodo p, aux;
boolean sw = false;
if(this.com == null) {
System.out.println(

Download

PDF Word HTML