Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ListaListi{
- public static void main (String[] args) {
- Ulica Silerova = new Ulica();
- Silerova.dodajKucu(3);
- Silerova.dodajKucu(1);
- Silerova.dodajKucu(7);
- Silerova.dodajKucu(5);
- Silerova.dodajKucu(9);
- Silerova.dodajOsobu(1, "Dusan");
- Silerova.dodajOsobu(1, "Olivera");
- Silerova.dodajOsobu(1, "Nebojsah");
- Silerova.dodajOsobu(3, "Jovicaa");
- Silerova.dodajOsobu(3, "Nemanjaaaaaa");
- Silerova.dodajOsobu(5, "Srdjan");
- Silerova.dodajOsobu(5, "Srdjan");
- Silerova.dodajOsobu(5, "Srdjan");
- Silerova.dodajOsobu(5, "Srdjan");
- Silerova.dodajOsobu(7, "Niske");
- Silerova.dodajOsobu(7, "Bodji");
- Silerova.najviseStanovnika(3);
- System.out.println(Silerova);
- Silerova.prebaci(1, 9);
- Silerova.prebaci(7, 123);
- System.out.println(Silerova);
- }
- }
- class Ulica{
- // Klasa Osoba
- class Osoba{
- String ime;
- Osoba veza;
- public Osoba(String ime){
- this.ime = ime;
- this.veza = null;
- }
- public String toString(){
- return ime;
- }
- }
- //Klasa Kuca
- class Kuca{
- int broj;
- Kuca veza;
- Osoba sadrzaj;
- public Kuca(int broj){
- this.broj = broj;
- this.veza = null;
- this.sadrzaj = null;
- }
- public String toString(){
- String s = "Kuca broj " + broj + ":";
- Osoba tek = sadrzaj;
- if(tek == null){
- s += " je prazna.";
- } else {
- s += " " + tek;
- tek = tek.veza;
- while(tek != null){
- s += ", " + tek;
- tek = tek.veza;
- }
- }
- return s;
- }
- }
- Kuca prvaKuca;
- // Metode za ulicu
- public boolean postojiKuca(int broj){
- Kuca tek = prvaKuca;
- while(tek != null){
- if(tek.broj == broj){
- return true;
- }
- tek = tek.veza;
- }
- return false;
- }
- public void dodajKucu(int broj){
- if(!postojiKuca(broj)){
- Kuca tek = prvaKuca;
- if(prvaKuca == null || broj < prvaKuca.broj){
- prvaKuca = new Kuca(broj);
- prvaKuca.veza = tek;
- return;
- }
- while(tek.veza != null){
- if(broj < tek.veza.broj)
- break;
- tek = tek.veza;
- }
- // 1 3 [5] (7) 9
- Kuca sledeca = tek.veza;
- Kuca nova = new Kuca(broj);
- tek.veza = nova;
- nova.veza = sledeca;
- }
- }
- public void dodajOsobu(int brojKuce, String ime){
- Kuca tek = prvaKuca;
- while(tek != null && postojiKuca(brojKuce)){
- if(tek.broj == brojKuce){
- Osoba tekOsoba = tek.sadrzaj;
- tek.sadrzaj = new Osoba(ime);
- tek.sadrzaj.veza = tekOsoba;
- }
- tek = tek.veza;
- }
- }
- public void najviseStanovnika(int N){
- int brKuceMax = prvaKuca.broj;
- int pomocna = 0;
- int brojac = 0;
- Kuca tek = prvaKuca;
- if(prvaKuca == null){
- return;
- }
- while(tek != null){
- Osoba tekOsoba= tek.sadrzaj;
- while(tekOsoba != null){
- if(tekOsoba.ime.length() > N)
- brojac++;
- tekOsoba = tekOsoba.veza;
- }
- if(brojac > pomocna){
- pomocna = brojac;
- brKuceMax = tek.broj;
- }
- tek = tek.veza;
- brojac = 0;
- }
- System.out.println("Kuca sa imenima vecim od broja N: " + N + " je " + brKuceMax);
- }
- public void prebaci(int A, int B){
- if(postojiKuca(A)){
- Kuca tek = prvaKuca;
- while(tek != null){
- if(tek.broj == A){
- break;
- }
- tek = tek.veza;
- }
- Osoba tekOsoba = tek.sadrzaj;
- Osoba prethodni = null;
- while(tekOsoba.veza != null){
- //System.out.println(tekOsoba.ime);
- prethodni = tekOsoba;
- tekOsoba = tekOsoba.veza;
- }
- Osoba pomocna = tekOsoba;
- prethodni.veza = null;
- if(postojiKuca(B)){
- dodajOsobu(B, pomocna.ime);
- }
- }
- }
- //-----------------------------------
- // Ispis cele ulice
- public String toString(){
- String s = "Ulica: ";
- Kuca tek = prvaKuca;
- if(tek == null){
- s += " je prazna.";
- } else {
- while(tek != null){
- s += "\n" + tek;
- tek = tek.veza;
- }
- }
- return s;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement