From 32efc279c76933917ec47eedf4edf515c1b333a9 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 10 Sep 2020 10:18:18 +0200 Subject: [PATCH] enqueue and dequeue implemented --- Queue.class | Bin 0 -> 1418 bytes Queue.ctxt | 15 +++++++++++++++ Queue.java | 16 ++++++++++++++-- QueueNode.class | Bin 0 -> 1008 bytes QueueNode.ctxt | 15 +++++++++++++++ QueueTest.class | Bin 0 -> 2824 bytes QueueTest.ctxt | 11 +++++++++++ Stack.class | Bin 0 -> 1170 bytes Stack.ctxt | 15 +++++++++++++++ StackNode.class | Bin 0 -> 1008 bytes StackNode.ctxt | 15 +++++++++++++++ StackTest.class | Bin 0 -> 2656 bytes StackTest.ctxt | 11 +++++++++++ 13 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 Queue.class create mode 100644 Queue.ctxt create mode 100644 QueueNode.class create mode 100644 QueueNode.ctxt create mode 100644 QueueTest.class create mode 100644 QueueTest.ctxt create mode 100644 Stack.class create mode 100644 Stack.ctxt create mode 100644 StackNode.class create mode 100644 StackNode.ctxt create mode 100644 StackTest.class create mode 100644 StackTest.ctxt diff --git a/Queue.class b/Queue.class new file mode 100644 index 0000000000000000000000000000000000000000..0a0a171207e5ea09a2729f1d69af8bfc1145294f GIT binary patch literal 1418 zcmZuvT~8B16g|^!yR_ZXmM<+Rf`V+fNEJcU5@JI1sbCBZMjuR;vch87*0MG71N;-d z8(w_CL`$NHkCOPKjAwSYEw!fU?A&wj+;i@k`TghnPXH?@#*siihB)Tsa!bWR9103@ zxhA-wv7OJMRS9rQ}U{&0rC&}?74c3DR z{FGGGS1yq3nUnFBYgXQDnDszMTJI^4{ncG7P!M_Dph*HFdhUO{Q+lrFFpt_tj}Pna zvFF}PfyLDeE#J6hAM#Xw!OPk}~T`tJUG-NQOK|@kQ8cAMl=bmM1Lc=|* zXt<9D8g61v!$ZsnM7$z_^uOj%?UChfTJJgFpx%8Mp2zB5JC)?@9Uk6joS9%KO!EmQ z_*_H$Q5M+9i&BiK@IoBnp6a;{v*J1Pg5Q*J24RSA2+1Yyl;q$RyGx3qzy=8)nJD2hCO9YdPRdO0sjP$_bS4=MG=g6SQ=JC)vj%kv2~R Sp~NG>dHkoVBga-D7=HoV5bgH> literal 0 HcmV?d00001 diff --git a/Queue.ctxt b/Queue.ctxt new file mode 100644 index 0000000..17d1595 --- /dev/null +++ b/Queue.ctxt @@ -0,0 +1,15 @@ +#BlueJ class context +comment0.target=Queue +comment1.params= +comment1.target=Queue() +comment2.params=pContentObject +comment2.target=void\ enqueue(java.lang.Object) +comment3.params= +comment3.target=void\ dequeue() +comment4.params= +comment4.target=java.lang.Object\ front() +comment4.text=\r\n\ Liefert\ das\ Inhaltsobjekt\ vom\ ersten\ Knotens\ der\ Schlange\r\n\ vom\ Typ\ ContentType,\ falls\ die\ Schlange\ nicht\ leer\ ist,\r\n\ ansonsten\ null.\r\n\r\n\ @return\ Das\ Inhaltsobjekt\ oder\ null.\r\n +comment5.params= +comment5.target=boolean\ isEmpty() +comment5.text=\r\n\ Pr\u00FCft,\ ob\ die\ Schlange\ leer\ ist.\r\n\r\n\ @return\ true,\ wenn\ die\ Schlange\ keine\ Knoten\ enthaelt\r\n +numComments=6 diff --git a/Queue.java b/Queue.java index 9490bd6..d7a66a3 100644 --- a/Queue.java +++ b/Queue.java @@ -9,11 +9,23 @@ public class Queue { } public void enqueue( ContentType pContentObject ) { - // TODO: Implementiere enqueue + if (head == null) { + head = new QueueNode(pContentObject); + tail = head; + } else { + QueueNode node = new QueueNode(pContentObject); + tail.setNext(node); + tail = node; + } } public void dequeue() { - // TODO: Implementiere dequeue + if (head != tail) { + head = head.getNext(); + } else if (head != null) { + head = null; + tail = null; + } } /** diff --git a/QueueNode.class b/QueueNode.class new file mode 100644 index 0000000000000000000000000000000000000000..89fb77163f181e52a57e873888d5d0236c37f0f2 GIT binary patch literal 1008 zcma)4%Wl(96r3BsaN;Cw+6G8@l>&7FY9%&EG>U{Ov5EqyQT9%_3a)|^rFI32{!@`a zNG$k(eiUM^?bu1f0$I8~=gc`Xb061#e*FgU3I|0P*t4PIv0C;mJhAXppgfuep$x)z z!!tPw1!~~*sVZ*347Czgi75Hk&L8D z2$*d@@WYP4j=Rp;90=$q@l>_z2eKD^9?E&&8&1em>rO}BWZ=zxm8V5L{N$etRA#CC z!f<`HnWoZ#M((D);<-a}8}3R;*|E-L*yCQP;pU^q3NmI1V2u|oWw*K1BTyug8WY$i z_>WVpy3G|)ftT&2vwXci(^)T3>U0{-NAj(&j;fNK_@PpC;NY196PAM_O1!xY=bmqR z642b{0DF871|La*A1A>(jWe4$Nf_&_IVdx)FuRO9fxE4r5H0Zo1+{3c=ZokYn>19p zHb@8#>HKWQ6;`*ffjijb3e-tOB4$cPMYY(#7ULY-&M-SOx5KE8+gz2U_o*dQnb30m zV$9#*_I8)_%uLUulM*?Up2I)raT7{U&`Tp_f5X4RjMjH(R}7NPnQ?JHCQgQplsKnT im4t2=_h?3$U8XDCq\ wird\ erschaffen.\r\n\ Der\ Inhalt\ wird\ per\ Parameter\ gesetzt.\ Der\ Verweis\ ist\ leer.\r\n\r\n\ @param\ pContentObject\ das\ Inhaltselement\ des\ Knotens\ vom\ Typ\ ContentType\r\n +comment2.params=pNext +comment2.target=void\ setNext(QueueNode) +comment2.text=\r\n\ Der\ Verweis\ wird\ auf\ das\ Objekt,\ das\ als\ Parameter\ uebergeben\ wird,\r\n\ gesetzt.\r\n\r\n\ @param\ pNext\ der\ Nachfolger\ des\ Knotens\r\n +comment3.params= +comment3.target=QueueNode\ getNext() +comment3.text=\r\n\ Liefert\ das\ naechste\ Element\ des\ aktuellen\ Knotens.\r\n\r\n\ @return\ das\ Objekt\ vom\ Typ\ QueueNode,\ auf\ das\ der\ aktuelle\ Verweis\ zeigt\r\n +comment4.params= +comment4.target=java.lang.Object\ getContent() +comment4.text=\r\n\ Liefert\ das\ Inhaltsobjekt\ des\ Knotens\ vom\ Typ\ ContentType.\r\n\r\n\ @return\ das\ Inhaltsobjekt\ des\ Knotens\r\n +numComments=5 diff --git a/QueueTest.class b/QueueTest.class new file mode 100644 index 0000000000000000000000000000000000000000..025fd6823d90238b313b88a5240d59121497d79f GIT binary patch literal 2824 zcmbVOYf}?v6nN#dYHJB{32Id=H$f9FMlON~c)=xk32QeS&2Dt`U-gSH zb*4X{GyMhq75xL9KJV@(*(6NcDa`D9JLkO5^PID1^V?s){0iVM3Q_2|9l@O_+HhOL zT{TWP3gFk0x_4POxy3&o`B}$4lTnja2oOLXw%ym?c>{O z#D3poD*MKGZ={r8YQrs?c42acZWo_aY}YKxEz>cHV$QZpuHl*`n;_!ZQn`?NQz4sF z1Coa_Koa$UWy&Sn6}a4b(UR@Tf-HMC`6QN{bn&hGQ6Rces+4mwV=5`SYHY_8${4QT zsz9f=OOlI*WtB$s7`E_C;LeJXJJh9V7Y$37z9@R$C?Du~Q|cRmHo9%*4qe@nvaCBa z9*bZ*h8^t2@Ek89cp1Yh>XE0tC~1fOUU)}vzQs}kk?Y@H+# zVV{8K(q<_Tz^>T(pvTlFKPGUa;ks&UPp$^}>%t3MNjrMM+;{b#D3UJAEM`YfTe2uA zZ&4nWM`Fk!FL2E(B?X*9sR+`pC)9LY-L6>Hm`WpyX2LhNPpAeTj^U_CpUi@+UFKDS zz`6Rn5R|AYxdVY&kDY=Nel) zI$7_=u!eWNxa6a<+z`G&_7A4a2io~%FR<)+{=WigdWQr~*WOh2hq{WZ`)_29Js=V& zCU7AcYB>J!q-uvD>E}x&OBy!4-Wyg$u2TQrICkE0R$Z{6gq&^x}!jLdMOh)pA4f3TnHx6pIywqbA@FoF!-NtRPlS0 zOX0xPHp!0#54Ko}-|*X|{yM?82Uq$0ma7y;p?0qyLHx`~8@}W7l((tj8s{a6I=|nWq!POZ~hZ8YnaJI>y zt7f1ew0jWd5$F6YG<2g2=lGvMKc55W;pOKErw2pmC4)ZP#6?VToW&(Pq}2k)WnA{) z_xcb6`1}~t>pE!+GrFSY?~HIZ${j^~j3c{vjpiQ#&Gkl_J{J<}PQ;t|oJ+*2gw=7P zqfw6@|L}aB>@vxLY0*fni}V$}KI+|1wXbnZ67(oxk8`|*5&jk#X` zF~>FB2$5c|kzQ&ct#(>TkJm{5i4IS=LX~vlLV$WWo;yabO5;~w(6Y%aCfC`J0c-R-((vlMqI#RSga9_5%|)~A@!Y0{Y?>}dkOkK35zYM#^|kor8S zr?H6)zoiT8{23fzF(gHyCdFQh6l&*2Oa5<$r0~l;SCis$V?s|Zdur01`1&NvP~{9X zR!&`p6_z)!LK)U5!#XZ->?6SeJY}71v3#F0|JyA69ZIpw(%+#7FG%_&yfgc6r8o4nmA6sYCS=wIOv zaN$rSC=v&bAn~IR^K7?qFtWV6Z}#oXo45P>&-Why9^run6E};P!YvE8QMb5i$jUKs z$HZL)qwl%93Z>RoKujMdXtG$8-CzN zO$EK)*e2N~&nr}0e&Dr72Rq)dMenQaZa?*6tr^d(L~BkKEy3T7few)x2{ilmwI zNlISd2uFu~h4b~+p8L*S+joQB+KZh%uN$pPJ(VymIKiZjT%JOC!j{5xeF6|7JsgBg zjC=Il4b!spNYJ@@(S#gh#iWgF*EG;z)D+%NfSf{iJs;^THqC24XXp_0`FT;wRE<2@lw_AYTRF|oka z6V#<9I1(oWvIshme>_d?IK9;l0!o?1+Uh2cr-ElO`Gy zAN&A6%D7HjC=5QBCZ~Jvwf9=!g`3t}^JS@V(kqZ-d^>Xaso`d@W!wcm`e@}&eDm&r~<7Ksv~gVZ*w+>0_IsVRqaNx>@D7p)5ScLFC%?amDPzq(TW~CJn&${@lZrb-`w&>xaZ5B z1Ps49#1Y?v#Ya-$$4T%`lgwpK62>NL9?Hxs%swZb!1dM-h?e+{f?kZ)qh<7!O$Mr5 z8zcmWOnxro3afkA!8Po11?r?C5i>2LqgrBMk8zIeuP}FI?toDpSGj6SuQN-wHeuxY z#e~1X?H#V^*(*JpPD^fcHGTr0\ wird\ erschaffen.\r\n\ Der\ Inhalt\ wird\ per\ Parameter\ gesetzt.\ Der\ Verweis\ ist\ leer.\r\n\r\n\ @param\ pContentObject\ das\ Inhaltselement\ des\ Knotens\ vom\ Typ\ ContentType\r\n +comment2.params=pNext +comment2.target=void\ setNext(StackNode) +comment2.text=\r\n\ Der\ Verweis\ wird\ auf\ das\ Objekt,\ das\ als\ Parameter\ uebergeben\ wird,\r\n\ gesetzt.\r\n\r\n\ @param\ pNext\ der\ Nachfolger\ des\ Knotens\r\n +comment3.params= +comment3.target=StackNode\ getNext() +comment3.text=\r\n\ Liefert\ das\ naechste\ Element\ des\ aktuellen\ Knotens.\r\n\r\n\ @return\ das\ Objekt\ vom\ Typ\ QueueNode,\ auf\ das\ der\ aktuelle\ Verweis\ zeigt\r\n +comment4.params= +comment4.target=java.lang.Object\ getContent() +comment4.text=\r\n\ Liefert\ das\ Inhaltsobjekt\ des\ Knotens\ vom\ Typ\ ContentType.\r\n\r\n\ @return\ das\ Inhaltsobjekt\ des\ Knotens\r\n +numComments=5 diff --git a/StackTest.class b/StackTest.class new file mode 100644 index 0000000000000000000000000000000000000000..70c4c74438d4430acf5e9b6721e86f2a4d18064c GIT binary patch literal 2656 zcma)8ZBr9h6n-usSwn;nk@8l%+FH;E@f{UJ0fU0!9fN?@F3A;EH=8uO(UE`EFY448 ze?VvYy)*q4{R5pocX!!r2vZ9)IrrZ4_B`jDdz0V)`RxmUamYBn!;Khj#?gWs8g3~$ zuHkkZcW_s2CgPaHJq=T8b6>*)4bvKC)NWS8Lk(FCa~d8gv&S0dw1Rpl!BXlmcBj)0RuM(ypv-7`qlvQn_-$u<}OL zRQuqt&D}R0fsWj|YZTsWNXMNJIO$T#m7259=#Fbtq$LpZO{nf|4D`No7;MltnasU5 z-WnOpu=g_SZq>B+CZ_1tzgDwdvn2DTV-mo$ZI@lcHOn^hCv)ZMUgmX;L^1&g%?DAg z2>8nlwH#_rF>kwaPgcDg3D0TX$(Abadx7|RxmGR6IaBfP3@MH&dX*Vc*p)$rFcmV=?3t*u=90 zwy+(;P6E&ILSWPjRFow>H$S&Ly25fCm=(QLa~$0*SM=c^@30pofuHb_pf;uD65OQc zY?llB|Apk8G+m-N3P>RHmE3mC)`z`RhuMEtC7JWw4j48hU$cv0F$lV;7DRYV{vo!^ zXX<5YU^*s{Zp?FN8>w-X<5(mimGhSRg8W6N57vOJ$C^~Pa5rcUonsj3$BnQknun&7WB@yI~) z9SCm>Z)lzM^6qO{aQV`xdm(UUBy!(<-Gq9GB6XT6mn~`7yk&0z8LWf zEci^s%){Hu_iUSq>o3E!o*O*M}Iu*D#9_`UzZObVbcSNpp3XCyMwerNCH7^RIyB zY9mdb3vqX)l1KP-*9j|is;#jer+uEtutCY@Xij0Zg9#kz5w{S;da+#>ti=-_XcPRedJbO85QhbeNt zN6rs$6Vu$yknt?m$vscGg=~cJcF1_GiLpAl($wawA>+S;HWxz1gN=PVe!9H@7&^`} zG9ceJ4oIE)5~r9Kh}0KJeF@I>Un8(}wrGuQe#!~Yll~?rJkJ7b;W4&py+iGD hYG2?bPX`q`CRm=-Yzp{{jnwS*QR2 literal 0 HcmV?d00001 diff --git a/StackTest.ctxt b/StackTest.ctxt new file mode 100644 index 0000000..86cdb89 --- /dev/null +++ b/StackTest.ctxt @@ -0,0 +1,11 @@ +#BlueJ class context +comment0.target=StackTest +comment1.params= +comment1.target=void\ testePush() +comment2.params= +comment2.target=void\ testePop() +comment3.params= +comment3.target=void\ testeTop() +comment4.params= +comment4.target=void\ testeIsEmpty() +numComments=5