Exclusive mode seems to work without deadlocks
[mirrors/Programs.git] / java / cviceni_12 / Fronta.java
CommitLineData
7824a618
H
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package cviceni_12;
6
7/**
8 *
9 * @author hapallen
10 */
11public class Fronta {
12
13 /**
14 *
15 */
16 private Prvek hlava;
17 private Prvek konec;
18
19 /**
20 * @param args the command line arguments
21 */
22 public static void main(String[] args) {
23 Fronta f = new Fronta();
24 Zakaznik z1 = new Zakaznik("Ales", "A", 2);
25 f.pridejPrvekNaKonec(new Prvek(z1));
26 System.out.println(f);
27 Zakaznik z2 = new Zakaznik("Beda", "B", 3);
28 Zakaznik z3 = new Zakaznik("Cenek", "C", 4);
29 f.pridejPrvekNaKonec(new Prvek(z2));
30 System.out.println(f);
31 f.pridejPrvekNaKonec(new Prvek(z3));
32 System.out.println(f);
33 Prvek p = f.odeberPrvekZeZacatku();
34 System.out.println(p.getZakaznik());
35 System.out.println(f);
36 }
37
38 /**
39 * prida na konec fronty zakaznika
40 * @param p prvek, ktery pridavam
41 */
42 public void pridejPrvekNaKonec(Prvek p) {
43 if (hlava == null) {
44 hlava = p;
45 } else {
46 p.setPredchozi(konec);
47 konec.setDalsi(p);
48 }
49 konec = p;
50 }
51
52 /**
53 * odebere ze zacatku fronty zakaznika
54 * @return
55 */
56 public Prvek odeberPrvekZeZacatku() {
57 Prvek p = null;
58 p = hlava;
59 if (hlava != null) {
60 hlava.getDalsi().setPredchozi(null);
61 hlava = hlava.getDalsi();
62 p.setDalsi(null);
63 }
64 return p;
65 }
66
67 /**
68 * vypise seznam zakazniku ve fronte
69 * @return
70 */
71 public String toString(){
72 String s = "";
73 Prvek aktualni = hlava;
74 int i=0;
75 while(aktualni != null){
76 i++;
77 Zakaznik z = aktualni.getZakaznik();
78 s += String.format("Zakaznik c.%d: %s",i ,z.toString());
79 aktualni = aktualni.getDalsi();
80 }
81 return s;
82 }
83 /**
84 * najde prvniho zakaznika, ktery ma zadane prijmeni
85 * @param prijmeni vyhledavane prijmeni
86 * @return nalezeny zakaznik
87 */
88 public Zakaznik najdiPodlePrijmeni(String prijmeni){
89 Zakaznik z = null;
90 Prvek aktualni = hlava;
91
92 while(aktualni != null){
93 Zakaznik zTmp = aktualni.getZakaznik();
94 if(zTmp.getPrijmeni().equalsIgnoreCase(prijmeni)){
95 z = zTmp;
96 break;
97 }
98 aktualni = aktualni.getDalsi();
99 }
100 return z;
101 }
102
103
104}
This page took 1.299139 seconds and 4 git commands to generate.