[ 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;
}
}
}
}
[ Branko Santo @ 05.06.2006. 23:12 ] @
Jel to domaci ili ne znas da postoje kolekcije u javi?