hi!
es geht wieder um die Queue nur dieses Mal ist eine Methode zu implementieren, die den größten Wert herausholt..
Queue ist implementiert als verkettete Liste...
ich hätts versucht mit Node curr, Node max aber das haut igendwie nicht hin
außerdem weiß ich nicht, wie man da die Werte vergleicht
denn es sollen Articles drin gespeichert werden..
hoffe es ist nicht allzu verwirrend!
kann mir da bitte jemand unter die Arme greifen?
es geht wieder um die Queue nur dieses Mal ist eine Methode zu implementieren, die den größten Wert herausholt..
Queue ist implementiert als verkettete Liste...
ich hätts versucht mit Node curr, Node max aber das haut igendwie nicht hin
außerdem weiß ich nicht, wie man da die Werte vergleicht
denn es sollen Articles drin gespeichert werden..
hoffe es ist nicht allzu verwirrend!
kann mir da bitte jemand unter die Arme greifen?
Code:
public class Node {
Object obj;
Node next;
public Node(Object obj){
this.obj=obj;
}
}
Code:
import java.util.NoSuchElementException;
public class Queue {
Node head=null, tail=null;
int cnt=0;
//für getMax()
Node curr=head;
Node max=head;
public Queue(){
head=null;
tail=null;
}
public void put(Object obj){
Node p=new Node(obj);
cnt++;
if(head==null){
head=p;
tail=head;
}
else{
tail.next=p;
tail=p;
}
}
public int getSize(){
return cnt;
}
public Object getMax(){
if(head==null){
throw new NoSuchElementException();
}
else{
for(int i=0;i<cnt;i++){
//das geht natürlich nicht! wie könnt ich das (so ähnlich) machen?
if(curr<max){
curr=curr.next;
}
else{
max=curr;
//curr=curr.next;
}
}
}
return null;
}
}
Code:
public class Articel implements Comparable{
private int number;
private String name;
private int price;
public Articel(int number,String name,int price){
this.number=number;
this.name=name;
this.price=price;
}
public int getPrice(){
return price;
}
public int compareTo(Object obj) {
Articel art=(Articel) obj;
if(this.price > art.getPrice()){
return 1;
}
else if(this.price < art.getPrice()){
return -1;
}
return 0;
}
}