Ejercicios Examen

Anuncio
Universidad Diego Portales
Facultad de Ingeniera
Escuela de Industrias
Curso: Computación II
Profesor: Nicolas Bersano
Ayudante: Óscar Valdivia
Ejercicios Examen
Para las siguientes preguntas considere que ya existe una clase “Lista” y “Nodo”, las cuales
controlan todo lo necesario para llevar a termino los métodos que se le piden agregar:
1. Ingresar números a una lista enlazada lineal siempre por el principio de ella (por la cabeza).
2. Ingresar números a un lista lineal de forma ordenada, dejando la lista con números de menor
a mayor
3. Un método que chequee si acaso la una lista esta ordenada o no (considere orden de menor a
mayor).
4. Eliminar el primer elemento de una lista lineal, e ingresarlo al final de esta.
5. Mostrar por pantalla todos los elementos de una lista circular
6. Modificar el puntero “cabeza” (head), para que apunte al numero menor de una lista circular.
7. Eliminar el primer elemento de una lista circular (la cabeza).
Desarrollo:
1.
void Metodo1(int num)
{ Nodo nuevo = new Nodo(num);
nuevo.sig = head;
head = nuevo;
}
2.
void metodo2(int num)
{ Nodo nuevo = new Nodo(num);
if(head == null)
{ head = nuevo;
return;
}
if(head.num == null)
{ if(head.num < num)
head.sig = nuevo;
else
{ nuevo.sig = head;
head = nuevo;
}
return;
}
Nodo aux = head;
while(aux.sig != null && aux.sig.num < num)
aux = aux.sig;
nuevo.sig = aux.sig;
aux.sig = nuevo;
return;
}
3.
boolean metodo3()
{ if(head = null || head.sig == null)
return(true);
Nodo aux = head;
while(aux.num < aux.sig.num)
{ aux = aux.sig;
if(aux.sig == null)
return(true);
}
return(false);
}
4.
void metodo4()
{ if(head == null)
return;
Nodo aux = head;
while(aux.sig != null)
aux = aux.sig;
aux.sig = head;
head = head.sig;
aux.sig.sig = null;
return;
}
5.
void metodo5()
{ if(head == null)
return;
Nodo aux = head.sig;
System.out.println(head.num);
while(aux != head)
{ System.out.println(aux.num);
aux = aux.sig;
}
}
6.
void metodo6()
{ if(head == null)
return;
Nodo aux = head.sig;
Nodo menor = head;
while(aux != head)
{ if(aux.num < menor.num)
menor = aux;
aux = aux.sig;
}
head = menor;
}
7.
boolean metodo7()
{ if(head == null)
return(false);
Nodo aux = head;
while(aux.sig != head)
aux = aux.sig;
aux.sig = head.sig;
head = head.sig;
return(true);
}
Descargar