Programadores a mi
Programadores a mi
A ver, tengo un pequeñito problema, me han pedido que implemente una lista doblemente enlazada genérica ordenada. Se como hacer una generica de cualquier tipo, se como hacer una ordenada de cualquier tipo, pero no se hacer una que cumla las dos condiciones.
Lo unico que se me ha ocurrido es crear un objeto comparable compuesto de el dato a introducir y la clave de ordenación que será lo que almacene la lista, el problema es que de esta forma siempre obligo a que se introduzca una clave, y no estoy seguro de que me hayan pedido eso. ¿Alguien tiene alguna idea? busco algo por google y no encuentro nada que me sirva. No me esta permitido utilizr la api de java. el objeto a introducir obviamente tiene que tener una clave string por la que sera ordenado, pero en ningun momento me dicen que la tenga que introducir el usuario. ¿Habría alguna forma de implementarlo?
Lo unico que se me ha ocurrido es crear un objeto comparable compuesto de el dato a introducir y la clave de ordenación que será lo que almacene la lista, el problema es que de esta forma siempre obligo a que se introduzca una clave, y no estoy seguro de que me hayan pedido eso. ¿Alguien tiene alguna idea? busco algo por google y no encuentro nada que me sirva. No me esta permitido utilizr la api de java. el objeto a introducir obviamente tiene que tener una clave string por la que sera ordenado, pero en ningun momento me dicen que la tenga que introducir el usuario. ¿Habría alguna forma de implementarlo?
Visita Pequeñas historias, no te arrepentirás, o si, o no, o que se yo.
Ultima actualización 5-8-2011
Ultima actualización 5-8-2011
¿Por qué no pones la estructura de la clase para que nos quedemos más tranquilos?
El perrico, definiendo la HAMBROSIA a ma112nu escribió:Un curasán aceitoso y calentico chorreando en el plato, la sonrisa de un niño, las ttks, un perolo de gazpacho manchego con medio kilo de pan para mojar, las ttks, las pelis de chinos dándose hostias, los ninjas, Mr. T, Mr.T luchando contra los ninjas, cualquier animal comestible, las ttks, correr desnudo por la playa alrededor de la gente mientras silbo el opening de battlestar galactica, la shandy cruzcampo de abadía belga, los torreznos, cualquier cosa rebozada, cagar en espiral, cosas asín, manu, cosas asín.
No me han dado ninguna, solo me han dicho eso y que puedo buscarme la vida por internet, en palabras del profesor tiene que ser una lista que si el llega y mete objetos de la clase platano los mete ordenados, y si son peras lo mismo, y si son los que utilizaemos mas adelante (agenda, imagenes y sonidos,el programa general es un simulador de movil moltimedia con texto predictivo) tambien nos lo met ordenaos, pero no nos dice nada mas y tampoco puedo ir a tutorias a preguntar porque las pone todas elmismo dia que lo manda y no acepta las que no sean en esas horas.
Basicamente lo que tengo pensado es la clase lista, que odena nodos, con los nodos compuestos de objetos comparabls, que a su vez estan compuestos del objeto a introducir y la clave
Es que el palo de polo no me sirve
Basicamente lo que tengo pensado es la clase lista, que odena nodos, con los nodos compuestos de objetos comparabls, que a su vez estan compuestos del objeto a introducir y la clave
Yo te iba a decir como hacerlo, pero como a todo me lo sacas pegas que te den por culo.
Es que el palo de polo no me sirve
Visita Pequeñas historias, no te arrepentirás, o si, o no, o que se yo.
Ultima actualización 5-8-2011
Ultima actualización 5-8-2011
Pues así no me entero rancheritas.
El perrico, definiendo la HAMBROSIA a ma112nu escribió:Un curasán aceitoso y calentico chorreando en el plato, la sonrisa de un niño, las ttks, un perolo de gazpacho manchego con medio kilo de pan para mojar, las ttks, las pelis de chinos dándose hostias, los ninjas, Mr. T, Mr.T luchando contra los ninjas, cualquier animal comestible, las ttks, correr desnudo por la playa alrededor de la gente mientras silbo el opening de battlestar galactica, la shandy cruzcampo de abadía belga, los torreznos, cualquier cosa rebozada, cagar en espiral, cosas asín, manu, cosas asín.
gññ, bueno, a ver, los apuntes de clase:
Y lo que tengo implementado que dudo que funcione
package movil;
Cmo veras con este codigo obligo al usuario a meter una clave de ordenacion cuando introduce el objeto, y queria evitar eso, descarto asignar yo la clave por codigo porque a priori yo n se que me van a meter ni como deberia ordenarlo
Implement a new class , a generic sorted list, this list must include double link
Head---->element--->element--->null
null<---- <---
The content is an object element, we can search google for implementation help
to test this list in the main program we create objects and introduce them in the list
we can create the three class of objects for the mobile, there are only properties
we will use an extra propertie named explorer that will be an auxiliar reference to navigate in the list
explorerReset() points the explorer to the first node of the list
explorerForward() move the explorer one position foward
explorerBackward()move the explorer one position backward
object explorerCheck(){
return(explorer.getloaded())
}
this method returns the content of the node pointed by the explorer
example:
list.explorerReset();
while(list.getExplorer()!=NULL)
(bananas).List.explorerCheck()).print();
list.explorerForward;
this code print the entire list
the objects must have a getKey() method than returns a string and permit sorted them
Y lo que tengo implementado que dudo que funcione
package movil;
Código: Seleccionar todo
public class List {
private Node header;
private Node explorer;
public List() {
}
public void add(Comparable data) {
Node aux;
Node auxback;
Node temp;
aux = header;
auxback = header;
while ( (aux != null) &&
(data.getKey().compareToIgnoreCase( ( (Comparable) aux.getData()).
getKey()) > 0)) {
auxback = aux;
aux = aux.getNextNode();
}
temp = new Node(data);
auxback.setNextNode(temp);
temp.setPrevNode(auxback);
temp.setNextNode(aux);
aux.setPrevNode(temp);
}
public void delete(Comparable data){
Node aux;
Node auxback;
aux = header;
auxback = header;
while ( (aux != null) &&
(data.getKey().compareToIgnoreCase( ( (Comparable) aux.getData()).
getKey()) != 0)) {
auxback = aux;
aux = aux.getNextNode();
}
auxback.setNextNode(aux.getNextNode());
aux=aux.getNextNode();
aux.setPrevNode(auxback);
}
public boolean isEmpty(){
if (header==null){
return true;
}
return false;
}
public void explorerReset(){
explorer=header;
}
public void explorerForward(){
if (explorer.getNextNode()!=null)
explorer=explorer.getNextNode();
}
public void explorerBackward(){
if (explorer.getPrevNode()!=null)
explorer=explorer.getPrevNode();
}
public Object explorerCheck(){
return explorer.getData();
}
}
Código: Seleccionar todo
public class Node {
private Comparable data;
private Node prevNode;
private Node nextNode;
public Node(Comparable data) {
this.data=data;
prevNode=null;
nextNode=null;
}
public Comparable getData(){
return data;
}
public Node getPrevNode(){
return prevNode;
}
public Node getNextNode(){
return nextNode;
}
public void setData(Comparable data){
this.data=data;
}
public void setPrevNode(Node node){
prevNode=node;
}
public void setNextNode(Node node){
nextNode=node;
}
}
Código: Seleccionar todo
public class Comparable {
private Object data;
private String key;
public Comparable(Object data, String key) {
this.data=data;
this.key=key;
}
public void setData(Object data){
this.data=data;
}
public void setKey(String key){
this.key=key;
}
public Object getData(){
return data;
}
public String getKey(){
return key;
}
}
Cmo veras con este codigo obligo al usuario a meter una clave de ordenacion cuando introduce el objeto, y queria evitar eso, descarto asignar yo la clave por codigo porque a priori yo n se que me van a meter ni como deberia ordenarlo
Visita Pequeñas historias, no te arrepentirás, o si, o no, o que se yo.
Ultima actualización 5-8-2011
Ultima actualización 5-8-2011
¿Si no metes una clave/campo/atributo de ordenación como coño vas a ordenar la lista sino rancheritas?
El perrico, definiendo la HAMBROSIA a ma112nu escribió:Un curasán aceitoso y calentico chorreando en el plato, la sonrisa de un niño, las ttks, un perolo de gazpacho manchego con medio kilo de pan para mojar, las ttks, las pelis de chinos dándose hostias, los ninjas, Mr. T, Mr.T luchando contra los ninjas, cualquier animal comestible, las ttks, correr desnudo por la playa alrededor de la gente mientras silbo el opening de battlestar galactica, la shandy cruzcampo de abadía belga, los torreznos, cualquier cosa rebozada, cagar en espiral, cosas asín, manu, cosas asín.
A eso voy, pa mi que el pavo se explico mal y no nos pide lo que nos pidió yo de moemtno le entreg este codigo y que se la pique un pollo pero como inssite tanto en que sino sabemos algo usemos internet, que si la lista tiene que ser totalmnte generica y pollas en vinagre pues pense que a lo mejor habia una forma de hacerlo, que cosas mas raras he visto
Visita Pequeñas historias, no te arrepentirás, o si, o no, o que se yo.
Ultima actualización 5-8-2011
Ultima actualización 5-8-2011