Løsningsforslag6
Fra Hiofwiki
Innhold |
[rediger]
Gruppe 14
[rediger]
Oppgave 1
package Oppgavesett6;
import java.util.*;
import java.io.*;
public class Oppgave1 {
public static void main(String[] args)
{
LinkedList<Integer> listLevels = new LinkedList<Integer>();
LinkedList<File> listFiles = new LinkedList<File>();
listFiles.add(new File(args[0]));
listLevels.add(0);
while(!listFiles.isEmpty())
{
File file = listFiles.poll();
int level = listLevels.poll().intValue();
if(file.isDirectory())
{
File[] files = file.listFiles();
for(int i=0; i<files.length; i++)
{
listFiles.add(files[i]);
listLevels.add(level + 1);
}
}
for(int i=0; i<level; i++)
System.out.print(" ");
System.out.println(file.getName());
}
}
}
[rediger]
Oppgave 2
package Oppgavesett6;
import java.util.*;
import java.io.*;
public class Oppgave2 {
public static void main(String[] args)
{
LinkedList<Integer> listLevels = new LinkedList<Integer>();
LinkedList<File> listFiles = new LinkedList<File>();
listFiles.push(new File(args[0]));
listLevels.push(0);
while(!listFiles.isEmpty())
{
File file = listFiles.pop();
int level = listLevels.pop().intValue();
if(file.isDirectory())
{
File[] files = file.listFiles();
for(int i=0; i<files.length; i++)
{
listFiles.push(files[i]);
listLevels.push(level + 1);
}
}
for(int i=0; i<level; i++)
System.out.print(" ");
System.out.println(file.getName());
}
}
}
[rediger]
Oppgave 3
Kommer snart...
[rediger]
Oppgave 4
En stakk har operasjonene empty, peek, pop, push. I tillegg til disse ønsker vi en operasjon max, som returnerer det største elementet.
Vi kan f.eks bruke ArrayList.
Vi må ha en variabel som tar vare på max-verdien.
push:
- Vi sammenligner max med den nye verdien. Er den større enn max, endrer vi max.
- Legger til i listen. (add)
peek:
- Ser på siste element i lista (get)
pop:
- Fjerner siste element i lista (remove)
empty:
- returner om listen er tom (isEmpty)
max:
- returnerer max variablen
