import java.util.ArrayList; import java.util.Random; public class DataStructs { private ArrayList<Integer> list; private Random r; public DataStructs() { this.list = new ArrayList<Integer>(); this.r = new Random(); } public void tulosta() { for (int x=0;x<list.size();x++ ) { System.out.print("" +list.get(x).toString() +","); } } public ArrayList<Integer> getList() { return list; } public void setList(ArrayList<Integer> list) { this.list = list; } public Random getR() { return r; } public void setR(Random r) { this.r = r; } }
DataStructs -isäluokka ylhäällä
perijät jono ja pino
/* * Stack -Data Type. * * Jere Sumell * 21.04.2021 * jere.sumell@iki.fi * jjsume@github */ public class Pino extends DataStructs { public Pino() { super(); } public void pinoAdd(Integer x) { super.getList().add(0, x); System.out.println(" - " +x +" -lisätty pinoon!"); } public Integer pinoNext() { Integer t = null; if (super.getList().size() >0) { t =super.getList().get(super.getList().size()-1); super.getList().remove(super.getList().size()-1); return t; } return 0; } public void alustapino(int y) { Integer temp = new Integer(super.getR().nextInt(100)+1); for (int x=0;x<y;x++) { this.pinoAdd(temp); this.tulosta(); temp = new Integer(super.getR().nextInt(100)+1); } } }
Ja jono...
/* Queue -data Type * * Jere Sumell * 21.04.2021 * jere.sumell@iki.fi * jjsume@github */ public class Jono extends DataStructs { public Jono() { super(); } public void jonoAdd(Integer x) { super.getList().add(x); System.out.println(" - " +x +" - lisätty jonoon!"); } public Integer jonoNext() { Integer t = super.getList().get(0); super.getList().remove(0); return t; } public void alustaJono(int y) { Integer temp = new Integer(super.getR().nextInt(100)+1); for (int x=0;x<y;x++) { this.jonoAdd(temp); this.tulosta(); temp = new Integer(super.getR().nextInt(100)+1); } } }
Testiluokka, jossa demonstroidaan jonon ja pinon kehitystä satunnaiskokonais lukujen lisäämisen jälkeen...
/* * Demo Class for Queue and Stack -data types * * Demonstrating data structure including Integer -objects evolution. * * Jere Sumell * 21.04.2021 * jere.sumell@iki.fi * jjsume@github */ public class QueueandStackDemo { public static void main(String[] args) { Jono jono = new Jono(); Pino pino = new Pino(); //Alustetaan jono ja pino. pino.alustapino(10); //Tulostetaan pinon kehitys System.out.println("pino"); pino.tulosta(); while (pino.getList().size()>0) { System.out.println(" pinon seuraava poistettava: " +pino.pinoNext()); pino.tulosta(); } if (pino.getList().size() <=0) { System.out.println("pino on tyhjä!"); } //Tulostetaan jonon kehitys System.out.println("jono"); jono.alustaJono(10); while (jono.getList().size()>0) { System.out.println(" jonon seuraava poistettava: " +jono.jonoNext()); jono.tulosta(); } if (jono.getList().size() <=0) { System.out.println("jono on tyhjä!"); } } }
Tässä vielä konsolista output -listaus
- 61 -lisätty pinoon! 61, - 12 -lisätty pinoon! 12,61, - 16 -lisätty pinoon! 16,12,61, - 100 -lisätty pinoon! 100,16,12,61, - 28 -lisätty pinoon! 28,100,16,12,61, - 79 -lisätty pinoon! 79,28,100,16,12,61, - 14 -lisätty pinoon! 14,79,28,100,16,12,61, - 35 -lisätty pinoon! 35,14,79,28,100,16,12,61, - 84 -lisätty pinoon! 84,35,14,79,28,100,16,12,61, - 99 -lisätty pinoon! 99,84,35,14,79,28,100,16,12,61,pino 99,84,35,14,79,28,100,16,12,61, pinon seuraava poistettava: 99 84,35,14,79,28,100,16,12,61, pinon seuraava poistettava: 84 35,14,79,28,100,16,12,61, pinon seuraava poistettava: 35 14,79,28,100,16,12,61, pinon seuraava poistettava: 14 79,28,100,16,12,61, pinon seuraava poistettava: 79 28,100,16,12,61, pinon seuraava poistettava: 28 100,16,12,61, pinon seuraava poistettava: 100 16,12,61, pinon seuraava poistettava: 16 12,61, pinon seuraava poistettava: 12 61, pinon seuraava poistettava: 61 pino on tyhjä! jono 88,13,85,44,43,18,71,66,56,98, jonon seuraava poistettava: 88 13,85,44,43,18,71,66,56,98, jonon seuraava poistettava: 13 85,44,43,18,71,66,56,98, jonon seuraava poistettava: 85 44,43,18,71,66,56,98, jonon seuraava poistettava: 44 43,18,71,66,56,98, jonon seuraava poistettava: 43 18,71,66,56,98, jonon seuraava poistettava: 18 71,66,56,98, jonon seuraava poistettava: 71 66,56,98, jonon seuraava poistettava: 66 56,98, jonon seuraava poistettava: 56 98, jonon seuraava poistettava: 98 jono on tyhjä!
Aihe on jo aika vanha, joten et voi enää vastata siihen.