-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPrioritetskoe.java
More file actions
51 lines (49 loc) · 2.38 KB
/
Prioritetskoe.java
File metadata and controls
51 lines (49 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Prioritetskoe<E extends Comparable<E>> extends Lenkeliste<E>{
//Her er Prioritetskoe en subklasse av Lenkeliste.
//Vi har også brukt extends som hentes fra java biblioteket som angir at noe er sammenlignbart
@Override
public void leggTil(E x) {
Node node = new Node(x);
if (start == null || stoerrelse() == 0 || x.compareTo(start.data) <=0) {
node.neste = start;
start = node;
stoerrelse++;
//super.leggTil(x); kunne brukt denne
}
else {
Node begynnelse = start;
while (begynnelse.neste != null && x.compareTo(begynnelse.neste.data) > 0){
begynnelse = begynnelse.neste;
}
node.neste = begynnelse.neste;
begynnelse.neste = node;
stoerrelse++;
}
}
//i metoden leggTil legger jeg til elementene i sortert rekkefølge, fra minst til størst
//Her går metoden gjennom if setninger. den første sjekekr om det ikke finnes noe i listen.
//hvis det ikke finnes noe legger den til elementet først i listen og øker stoerrelse. her kunne jeg egentlig kalt super.leggTil
//Videre bruker jeg en while løkke slik at den kan gå gjennom hele listen fra start til slutt, og se om elementet som er gitt er større enn element-dataen listen peker er på -
//mens den går gjennom elementene. Videre legger vi elementen i riktig plass og flytter resten nedover, og øker stoerrelse med 1
@Override
public E hent(){
//if(stoerrelse() == 0 || start == null){
// return null;
//}
//else {
// return start.data;
//}
//kunne skrevet det over, men tenkte det var lettere å kalle på metoden
return super.hent();
}
//her skrev jeg først opp hele metoden for å hente ut det minste elementet
//men så kom jeg på at det minste elementet faktisk er det første elementet, så da
//kan jeg bare kalle på super.hent() siden den tar ut der første elementet som også er det minste i dette tilfellet
@Override
public E fjern(){
return super.fjern();
}
//Siden metoden hent() og metoden fjern() gjør akkurat det samme som metodene Lenkeliste
//tenkte jeg at jeg bare kunne kalle dem opp, siden de henter og sletter det "første" elementet i listen,
//som også egentlig er den minste elementen.
}