[ A90 @ 05.06.2006. 17:51 ] @
Pozdrav svima Kako da u sljedecu listu izvrsim ubacivanje i izbacivanje na(sa) zadate pozicije? public class Element { public int broj; public Element sljedeci; public Element(int b,Element s) { broj=b;sljedeci=s; } public Element(int b) { broj=b; } } public class Lista1 { private element prvi; public lista1(int b){ prvi=new Elment (b); } public void prazni(){prvi=null; } public int duzina () { int n=0; for(element tek=prvi;tek!=null;tek=tek.sljedeci); n++; return n; } public String toString () { String s=" "; for(element tek=prvi;tek!=null;tek=tek.sljedeci); s+=tek.broj+" "; return s; } public void naPocetak(int b) { prvi=new Element(b,prvi); } public void naKraj (int b) { Element novi=new Element(b); if(prvi==null)prvi=novi; else { Element tek=prvi; while(tek.sljedeci!=null)tek=tek.sljedeci; tek.sljedeci=novi; } } public void umetni(int b) { Element tek=prvi,pret=null; while(tek!=null && tek.broj<b) { pret=tek; tek=tek.sljedeci; } Element novi =new Element (b,tek); if(pret==null)prvi=novi; else pret.sljedeci=novi; } public void izostavi (int b) { Element tek=prvi,pret=null; while (tek!=null) if(tek.broj!=b) { pret=tek; tek=tek.sljedeci; }else { tek=tek.sljedeci; if(pret==null)prvi=tek; else pret.sljedeci=tek; } } } //TEST public class Lista1T { public static void main (String args[]) { lista1 lst=new lista1(); radi:while(true) { System.out.println( "1.Dodavanje elementa na pocetak liste \n"+ "2.Dodavanje lementa na kraj liste \n"+ "3.Umetanje broja u uredenu listu \n"+ "4.Izostavljanje elementa iz liste \n"+ "5.Brisanje svih elemenata liste \n"+ "6.Odredivanje duzine liste\n"+ "7.Ispisivanje liste \n"+ "0.Zavrsetak rada\n\n"+ "Vas izbor!"); int izbor=Keyboard.readInt(); switch(izbor) { case 1:case 2: case 3: case 4: System.out.print("Broj ? "); int broj=Keyboard.readInt(); switch(izbor) { case 1: lst.naPocetak(broj);break; case 2: lst.naKraj(broj);break; case 3: lst.umetni(broj); case 4: lst.izostavi(broj);break; } break; case 5: lst.prazni();break; case 6: System.out.println("Duzina="+lst.duzina()); break; case 7: System.out.println("Lista="+lst.toString()); break; case 0: break radi; default: System.out.println("Nedozvoljen izbor"); break; } } } } |