Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class listaordenada {
- nodo inicio,fin;
- public listaordenada() {
- inicio = null;
- fin = null;
- }
- //Saber si esta vacia
- public boolean estaVacia() {
- if(inicio==null) {
- return true;
- }else {
- return false;
- }
- }
- //Metodo insertar al final
- public void agregarFinal(int dato) {
- if(!estaVacia()) {
- fin.siguiente = new nodo(dato);
- fin = fin.siguiente;
- }else {
- inicio=fin=new nodo(dato);
- }
- }
- //Agregar nodo al inicio
- public void agregarAlInicio(int dato) {
- //Creando al nodo
- inicio = new nodo(dato,inicio);
- if(fin==null) {
- fin=inicio;
- }
- }
- //Borrar al inicio
- public int borrarDelInicio() {
- int elemento = inicio.dato;
- if(inicio == fin) {
- inicio=fin=null;
- }else {
- inicio = inicio.siguiente;
- }
- return elemento;
- }
- //Borrar al final
- public int borrarDelFinal() {
- int elemento = fin.dato;
- if(inicio==fin) {
- inicio=fin=null;
- }else {
- nodo aux = inicio;
- while(aux.siguiente!=fin) {
- aux=aux.siguiente;
- }
- fin = aux;
- fin.siguiente=null;
- }
- return elemento;
- }
- //Metodo eliminar un dato en especifico
- public void eliminar(int dato) {
- if(!estaVacia()) {
- if(inicio==fin && dato==inicio.dato) {
- inicio=fin=null;
- }else if(dato==inicio.dato){
- inicio=inicio.siguiente;
- }else {
- nodo anterior,aux;
- anterior = inicio;
- aux = inicio.siguiente;
- while(aux!=null && aux.dato!=dato) {
- anterior=anterior.siguiente;
- aux=aux.siguiente;
- }
- if(aux!=null) {
- anterior.siguiente = aux.siguiente;
- if(aux==fin) {
- fin=anterior;
- }
- }
- }
- }
- }
- //Metodo mostrar datos
- public void mostrarLista() {
- nodo aux = inicio;
- while(aux!=null) {
- System.out.print("["+aux.dato+"]--->");
- aux = aux.siguiente;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement