From f8cf3685a519736458592610f1264d7af7f4cd01 Mon Sep 17 00:00:00 2001 From: Kevin Bannach Date: Thu, 11 Dec 2025 18:09:10 +0100 Subject: [PATCH] Fertig --- bintree.c | 4 +- bintree.o | Bin 0 -> 2405 bytes bintree_tests.c | 163 ++++++++++++++++++++++++++++++++++++++++++++ doble.exe | Bin 0 -> 66866 bytes highscore.o | Bin 0 -> 3871 bytes highscores.txt | 11 ++- main.o | Bin 0 -> 2616 bytes makefile | 6 +- numbers.c | 16 ++++- numbers.o | Bin 0 -> 2036 bytes runBinTreeTests.exe | Bin 0 -> 62348 bytes runNumbersTests.exe | Bin 0 -> 60370 bytes stack.c | 6 +- stack.o | Bin 1213 -> 1333 bytes timer.o | Bin 0 -> 1167 bytes 15 files changed, 195 insertions(+), 11 deletions(-) create mode 100644 bintree.o create mode 100644 doble.exe create mode 100644 highscore.o create mode 100644 main.o create mode 100644 numbers.o create mode 100644 runBinTreeTests.exe create mode 100644 runNumbersTests.exe create mode 100644 timer.o diff --git a/bintree.c b/bintree.c index f8a8321..2c166c9 100644 --- a/bintree.c +++ b/bintree.c @@ -12,7 +12,7 @@ static StackNode *stack = NULL; TreeNode* createNode(const void *data, size_t dataSize) { TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); - if (newNode == NULL) { + if (!newNode) { // Fehlerbehandlung: Speicher konnte nicht alloziiert werden return NULL; } @@ -82,7 +82,7 @@ void *nextTreeData(TreeNode *root) if (stack == NULL) { return NULL; } - TreeNode *node = (TreeNode*) top(stack); + const TreeNode *node = top(stack); stack = pop(stack); TreeNode *right = node->right; diff --git a/bintree.o b/bintree.o new file mode 100644 index 0000000000000000000000000000000000000000..01ca21d22f792049d47e101c3ae6b82f07a7e630 GIT binary patch literal 2405 zcmZ`*PmB{)7=J^%QWfJUV5%a_VKF74Lm}&me_}?~fiY>xB3nEe=(YnCy4$9m>h2~Q zlSY%t93&pNnHb~UgBSI*izLgD09O)XV$#ie=#3sWtiSJjGp|#IeM#s2-uM09_wRi( zueI-=6Eq%RG8mA6cDWBK?wB}7^iqA?-Y`!N|}_L5nvc$FCMSjY)}Q~!=KLHpOO3_FvUtHV2bw+mnV9R_Db!4-YmDEg%w!qP?8ggpafj%jLp zdm9lCpehLO1&9mlWLN+VHvW+Sv0`1$76UtnC_di4i=f|?TPSvH!BNu|ed9L7X~?jyORXhZ>!++(u`Ee26C- z;(kO%`9{q#?!&kH5i4O18VlLmgSgv4((NF0OQ$*zUAQHqVk}Qo6rIa?mcxo=(2Jg| z2#3AazsnWpW6|SE1hLltT`AG?VdhlL5Z{11LzT5a?$+%sE*`gGSb*>xQ6@O2X5t$QoiF}&9~hz3rCGp z-Fm|_=9i69eeulad0N&wMyuVt=2pEU#_@N|6DApnjn{x*$1g4D!z9rKpf_0d6`pT0 z>LbQi7!809FnX+Hdl0SEW`W*f?I9(5Pobhhb3g}~cTvf%03Bl4qLTF#`TMXVNO_OM!(o*H6j53tSP+B?*Da$EzRB5TOQcIPT z=%mt`m+K7|D;iJmieJ&@>x*97b + +void createTreeTest() +{ + TreeNode* root = NULL; + int data1 = 1; + int data2 = 2; + int data3 = 3; + int data4 = 4; + int data5 = 5; + int dataDup = 4; + int isDuplicate = 0; + int passedTests = 0; + + root = addToTree(root,&data3, sizeof(int),compareFct,&isDuplicate); + if(*(int*) root->data == data3 && isDuplicate == 0) + { passedTests++; + printf("PASS1\n");} + + root = addToTree(root,&data4, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data5, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data2, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data1, sizeof(int),compareFct,&isDuplicate); + if(*(int*) root->data == data3 && *(int*) root->left->left->data == data1 && *(int*)root->left->data == data2 && *(int*)root->right->right->data == data5 && *(int*)root->right->data == data4 && isDuplicate == 0) + {passedTests++; + printf("PASS2\n"); + } + root = addToTree(root,&dataDup, sizeof(int),compareFct,&isDuplicate); + if(isDuplicate == 1) + {passedTests++; + printf("PASS3\n");} + + if(passedTests == 3) + printf("PASS"); + else + printf("FAIL"); + printf("passedTests: %d\n", passedTests); + printf(" CreateBinTreeTest\n"); + clearTree(root); +} +void binTreeSizeTest() + { + TreeNode* root = NULL; + int data1 = 1; + int data2 = 2; + int data3 = 3; + int data4 = 4; + int data5 = 5; + int isDuplicate = 0; + + + root = addToTree(root,&data3, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data4, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data5, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data2, sizeof(int),compareFct,&isDuplicate); + root = addToTree(root,&data1, sizeof(int),compareFct,&isDuplicate); + if(treeSize(root) == 5) + printf("PASS"); + else + printf("FAIL"); + printf(" CreateBinTreeSizeTest\n"); + clearTree(root); + } + + void nextTreeDataTest() +{ + printf("Starte nextTreeDataTest \n"); + TreeNode* root = NULL; + int data1 = 1; + int data2 = 2; + int data3 = 3; + int data4 = 4; + int isDuplicate = 0; + int data5 = 5; + + // Baum aufbauen + root = addToTree(root, &data3, sizeof(int), compareFct, &isDuplicate); + root = addToTree(root, &data4, sizeof(int), compareFct, &isDuplicate); + root = addToTree(root, &data5, sizeof(int), compareFct, &isDuplicate); + root = addToTree(root, &data2, sizeof(int), compareFct, &isDuplicate); + root = addToTree(root, &data1, sizeof(int), compareFct, &isDuplicate); + + void* receivedData; + int expectedValue; + int testPassed = 1; // Flag, um den Gesamtstatus zu verfolgen + + // Test 1: Erster Aufruf mit root + expectedValue = 1; + receivedData = nextTreeData(root); + if (receivedData != NULL && *(int*)receivedData == expectedValue) { + + } else { + + testPassed = 0; + } + + // Test 2: Zweiter Wert + expectedValue = 2; + receivedData = nextTreeData(NULL); + if (receivedData != NULL && *(int*)receivedData == expectedValue) { + + } else { + + testPassed = 0; + } + + // Test 3: Dritter Wert + expectedValue = 3; + receivedData = nextTreeData(NULL); + if (receivedData != NULL && *(int*)receivedData == expectedValue) { + + } else { + + testPassed = 0; + } + + // Test 4: Vierter Wert + expectedValue = 4; + receivedData = nextTreeData(NULL); + if (receivedData != NULL && *(int*)receivedData == expectedValue) { + + } else { + + testPassed = 0; + } + + // Test 5: Fünfter Wert + expectedValue = 5; + receivedData = nextTreeData(NULL); + if (receivedData != NULL && *(int*)receivedData == expectedValue) { + + } else { + testPassed = 0; + } + + // Test 6: Kein weiterer Wert erwartet + receivedData = nextTreeData(NULL); + if (receivedData == NULL) { + + } else { + + testPassed = 0; + } + + if (testPassed) { + printf("PASS"); + } else { + printf("FAIL"); + } + clearTree(root); +} + + + +int main() + { + nextTreeDataTest(); + createTreeTest(); + binTreeSizeTest(); + return 0; + } diff --git a/doble.exe b/doble.exe new file mode 100644 index 0000000000000000000000000000000000000000..b486d6815edca136f24d2ffff18e8ea1d8895f05 GIT binary patch literal 66866 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 Ezkn|U!2kdN literal 0 HcmV?d00001 diff --git a/highscore.o b/highscore.o new file mode 100644 index 0000000000000000000000000000000000000000..e9b31f19c3c0fd12532a314cdaed342abb4a35be GIT binary patch literal 3871 zcmc&%U2GIp6u#Ttl|m)ENE-_g9AK-ZKTAcxMnt!^lTJ+=H?|E$Y3Q=u(&EzH>};VB z8YKmFGTBH(eeea04{~6&?nQ7kgP&tQ~S_|3V!F_nY*);$RjtI zd%pXfbI(2Z+@G20{a_8FQd+`TkRuNZrenitjzyLAFjnJYtgBeG$xdP6o?vez9dXz_ z42D>EB6w8SojSj>Vd3}5Zn)6lVdz%8g~lOP7YZf|?RsF+^#o&qb;7nBg4?AE?ZTMD z80?${@r8EnaWagB(JZ#+YHP@@Q!{RBqjy7^(dO5T&T`FEA=L%Qa>yKH&eTdF7R+#| zF|#vks4Jr*D{N?^W_FT#K{FVCbCp$=PKdmlM(^M5h zUD8HJ%2|3de3ok&b-rP&lq@aJH`IR^M)E^DuNfqAnh`FB#Nc7Hp_0Qc`ZlP3%w*B$ z_iD&apRaOe(RaAbPcynOF4SlnKBBR4{1e*G%X|iW#&6S3)P>ONuMbz;^IQj{rmUrdGN$$yj){U zU4;STnc#^Y9a&)MJ~+y;^bz>aHH^{PkCT<{z?ejGvNZ1oV}{62@4>sdp4()~c2SEA zrker^aV^HphB4YYn5Z=p-+S<|tYvs?Ek<@c#x2AuB1OIn2PkM0)3T;`Q9E~?G9VW= zO#20yZY!siH9Hkpm-lJD!HL{3g5Yt^V-&v?=iPsuaehcGtnwq{G-+d84`bMNY|>#Z z6AvV{jJKG_i_Mwwek9;LpbLwQOwLWKv$bH&?pXviXHUVHGUl*(r;O}m?pas%=CVPF z6xnbrWUHypn{BgZ=PW#y!DE{-Y0UvXS*zKWYckcW*_nlYD~$+7Gg<@nW?L4bPKZj- z7`io}*yBIK@wB=`{_k{C+Hum*A1mYyVg#cjpfp^i^Uz|TbFFWp+DDEaRWCdOp5?*qu zF^Q;cU;iJ`kMMz9ieV|b{6&KORk&2s-WBXoN*Ng{-PbOP;wpA~i&GxA3m0Ai_7r)E zb(MI$C9chkW3v6kvMuopmAId{Ra6I?2Yu`oHZ-Qbm zx2HCl&tlh2AdDoQnOcAlBvY;STwy;d0}sGcd*XR zh>*RdDSMpr<*y1N0n6 zi;`Q9UGzNXwgXjiGzcVmTmlk3zL4AxKq9IMiGG#nHqcJ)g}H4n#Xwb@+X5u|Rs&UY z?ttWCk~=B6^OCzPxvP@D~wmd8? zwVwfrynG8J`hE{YZv+n;mmHdGBOW(c8_{cJ6X)nu3$0%wx_E__&biP&BatGt0m)Gu z!j7U8eQ8SxZjVHCCkX8;k_$=HB(<94S|y@;L-g&CT$e=jwJEg0zJWNs=BeDny?M;l zKX9yHk0w&FU{uh&_E{LqLR$ib)`W_SDa?(Xm@oWB=FPpR58_#EBfiAR=nXt{W3IMY zOKM&Yq27iu$fl@ZEPTpar5}=R*3~xrGl*Lap{5&mwT(SL#?HfrZsOH88@LauF5$WI zP#a<5{HvgF-7dPz#XpCzK+EyLj*uS6q2y`v z>OoEWHD7{`KM4A9pqFA^n@3++kXF#`YRoGvq^DES6G@xKdNDAA(d221BBn2qj1Af* zw5DW}PP}VVl8HMR!r$2h@6~rKmevcIXgs0Y8`}09&kshPsf-o$N~Q(|(|tC@BP^io zUO(9;-1F~fiL3?AoH@hf!RbiFVl0|Ck&L8bnthto!E|aMrn6`&7D*SK literal 0 HcmV?d00001 diff --git a/highscores.txt b/highscores.txt index 8b13789..63db366 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1 +1,10 @@ - +test;11955 +test;9982 +test;9978 +test;9975 +test;9974 +test;9967 +test;9962 +test;9960 +test;9949 +test;9902 diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a5219dec467c2f6498c84d6068a1c1cd2ce3c3de GIT binary patch literal 2616 zcmZuzUuYaf7@xhnwlP(6l%lDBN6l#h&E_mglvL!>cI^sALen$F5-yv&xw|!YyX)>= zatTC~qr$QV@*wD&f)9Q1$+td;H7zDe!FvoCFfWBjd?+Gv(9rmOv%7bDxeV;g@B4kf z`M#NN_hv5l`3ZvUx8sDo%2AAnHmlkkd);h=kh20ImyUV%3ouYJIVv2cn@pu;=e}I~J1IL8@eOGo^?Spzn~uw?yfU)$^DdI|s??BIpTL#N&N`46s@)dhH0-jH^HCL7YW zH#BhAI|cF-0NmoYj}8tTsZm>LL>6{GTWRb<^%nnx5(PDNq#ZZifT%kt{}tqX(GbG$ zL(K3HTb$0zJ)hi$)b-FDkP%1PcBQTJ(stznc>d{$OLYjjJMPr;J^h@D&z;lE6Lm9@LY>oa%Ouq7;#sF3$7 zAYSp+cc*e1}oWgK{r7*1@Vf?97MJHo3Cg&)~^jfo;*U0LQfMFI$6=8-yV^umK+kjU8X!EqW8|x* z_a>khIrkGF%F%s5FLCq`ke8#|uU?Ft0p#zu$t3~3%x8=MdWEBLKvB_@+EB+8)B=#`9vGJP!BjA=>ncd9}pA!uIHZkb+QFR87o!OsmIZ5}N>f zjlk|&t##yM&9A}JsqwB3jEwU(kJO-twB4eZCMw|fht+Sj@C^!1(6oF33g4c1r5vdV z-JH0KsDO88dkf#1c%DZEd^hbad}HEHJq_NI?d>(+#QzRa;bObfx6Xyw2+3rEnjsC9 zCx)qNc0LdxV`UYsNpMYp+1a9E`XWB7a+t}t1wsur*`MR(LgRxDM(JSYJD6$*bEAX# zvV-}qgZZJ2SqIDex6`-0yi8QhsMy}QPpqQ8=wAV0NhYI~jZ7w^WKBDx>T?-5YO^G3 zGR0cVrASGRCSr$*+bb_fYu#lN8F~tno F{{w_j_d5Up literal 0 HcmV?d00001 diff --git a/makefile b/makefile index c77b9f5..a57b536 100644 --- a/makefile +++ b/makefile @@ -39,12 +39,14 @@ stackTests: stack.o test_stack.c $(unity_strc) $(CC) $(CFLAGS) $(LDFLAGS) -I$(unityfolder) $^ -o runStackTests numbersTests: numbers.o bintree.o stack.o test_numbers.c $(unity_strc) $(CC) $(CFLAGS) $(LDFLAGS) -I$(unityfolder) $^ -o runNumbersTests +binTreeTests: numbers.o bintree.o bintree_tests.c $(unity_strc) stack.o + $(CC) $(CFLAGS) $(LDFLAGS) -I$(unityfolder) $^ -o runBinTreeTests # -------------------------- # Clean # -------------------------- clean: ifeq ($(OS),Windows_NT) - del /f *.o doble doble_initial runStackTests runNumbersTests + del /f *.o doble doble_initial runStackTests runNumbersTests runBinTreeTests else - rm -f *.o doble doble_initial runStackTests runNumbersTests + rm -f *.o doble doble_initial runStackTests runNumbersTests runBinTreeTests endif \ No newline at end of file diff --git a/numbers.c b/numbers.c index 56ac257..e58161e 100644 --- a/numbers.c +++ b/numbers.c @@ -25,6 +25,8 @@ unsigned int *createNumbers(unsigned int len) TreeNode *root = NULL; srand(time(NULL)); unsigned int *numbers = malloc(sizeof(unsigned int)*len); + unsigned int duplicate = 0; + unsigned int duplicateIdx = 0; int counter = 0; while (treeSize(root) < len) { unsigned int num = rand()%(2*len)+1; @@ -35,9 +37,17 @@ unsigned int *createNumbers(unsigned int len) counter++; } } - unsigned int duplicate = rand()%(len); - unsigned int duplicateIdx = rand()%(len); - numbers[duplicate] = numbers[duplicateIdx]; + + srand(time(NULL)); + duplicate = rand()%(len); + duplicateIdx = rand()%(len); + + while (duplicateIdx == duplicate || duplicateIdx == duplicate+1 || duplicateIdx == duplicate-1) { + srand(time(NULL)); + duplicateIdx = rand()%(len); + } + numbers[duplicateIdx] = numbers[duplicate]; + clearTree(root); return numbers; } diff --git a/numbers.o b/numbers.o new file mode 100644 index 0000000000000000000000000000000000000000..be54845ae20a58e68ee933dc018e056e56f244f4 GIT binary patch literal 2036 zcmah~-D@LN6hD(mOO@&lOINe%$_RaE!H!kBW!L%;t=C>3cxqXKt79$4$G@XF>mK1ey71SEN>fYwc2U6 zsP0ShYs3TU=+IN6UI1yBO&is?-z2(BU~X?=4Mb1jM}Du(2~o0TM3=%E21?8?o#pOd z+|6j*&8E1=G*3gG@?d(`ZRhR@t8=)D4$hXA`26WRwD(~H8^T+xPr}c{I>g)^v0xCs zv!CFh$X(WHu>*2wv0kwFv~+IsyCM)C)c4rlt?l{+kNNyIZ%*8z09a3lD{U{k?`jV7 z6_opf55XE`>S#=X&N0(4yOb5sI!%VdN`v|oDoj)iBb6I=}VtK zu{|wzL|y96dh96HG>t2mlF-Sde6EP39CoCjZGok%2XsjD+>ig@jJ%BhzWZBzEa7j` z%~2i0kzk~@r=gC9y&b7r908Yi>rvq&Gepl|? zPv`D^8<3Jrj3iZMSs7DD#(p3KAg~o+>cz{%kZAo0+c*}k5AiOTK)kfL_@+M9xHNxl zer~2(sg)WtHS?1h%e*=Js{T&BRJQfCFZ4`lW9g$A5{osxYE?cp3-+}B`bFanV-|x% zXbCaJO~O^==LE_je@>t+NJTc%fL!CkgqDD21u7y z<9exVqD1uXF~ALFqrSdoS~a5(C_{cGTouqEfmsh}c+F8wG{uuX!Oc&5rtqUFpY$Os z#9jnCMpfuPpm$(M(boWt=rgnpQ1m6Bi~Ure$SXiqsEUp}PSF>DE`3#*L{9g9oGykU zRjMkBaU)9C?9#e9KPUAGs9E`qqLi_#u%0iME3)mRiMar2h|+=+BaLmD=7*)taEJq+ z4`M!_)hd=9(_F`0QX%53plDe1-c4?9ZbG55Ud>zPdj%T`mYKKBtHFN(H%$B8dbM0C Vpf0*0Uo5UvRw!(tZ00S2{sYfRkmUdX literal 0 HcmV?d00001 diff --git a/runBinTreeTests.exe b/runBinTreeTests.exe new file mode 100644 index 0000000000000000000000000000000000000000..6f890612198d967c6fefd387a65ed7d114456082 GIT binary patch literal 62348 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 D(&6R9 literal 0 HcmV?d00001 diff --git a/runNumbersTests.exe b/runNumbersTests.exe new file mode 100644 index 0000000000000000000000000000000000000000..cdc83358f06bf8b964a52ee725831438c7ae4528 GIT binary patch literal 60370 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%0D`t#xd#0VC~O>RQ;K z0SX{Q*gm=Dq-DBg&H2xckW;QNJuO%h(PYhf9VBbY1*SydpxP~16jR7^;0|gdVztPx zw}iHPf=sLjIe?3S4|Y4|$mP0NMLSD1$dg1D#EP7ARbF4Mv!bFBt)5obYd5f>l49KN ziS{=&nm1vrmLPo->2*#^~kXeXl7O>eehpOMTunzy{6%WbxUglhj z%ey5o_MiVUjN=04yyODMh2_PIFI&7~@e;f#%p8@hxa{%;*koDG7A$z%f@16r6_+@Q z%igwZ?t*0{4NIb+yV7|HHWSOisR2~xEoE;(z4;dtu?3*T zp$nEltcA;1!;)(u)*HubXMr6cg{Qw59>YY#cKrL|MU>D^AWmeiJg2WC7aGrDxsYuR+(sxn*P0+H_xl4&`EXKftrtc~6mNam7$^ z|6=F3XK~pR0`HCg|2-{Gcipvo2R=S9ki0e#@3P|k2S0bvAXMa>GgIEiq}up)~u^Cy@QgXhacieZO_{E{CyNrVVA)`)x+CktNU;Z zVDI{My97^0cNjb&*Sa;;D)9b$n)koF)c?tTJh$*-uUB}Tg;*jG*RAP5sGFL|*@e2O zU~WsYo+;F2^Rkl9+X81qL31*MwA#pE1bSPJu)K0G7v}bsBK=}Na+nokzy=P7K8XKQC73-TE#@~FjjH0VGoAz{ zOiVjx!ub(UKn72{2|PR-j9hRA%6RB11{5xjs3o44V~|bJ5zoWXlY9z-3~sQ9d)o%D zHvuv0vk$ZDUO@o=)xD%YLCl2qd-0uFAj$CJO)aYQYw z%V2pyM?MU#21eNtdseP`?gEIJ|v1mQ&Vps9%~Q zAPfRJ?f5?*r*WuXts)2n0S>J(aL3$qsGg0UWRgAGzHXXk&_kKKBi#zM2bORtO-Z>t z$KAlGQaJi=b%|QU9cy-O7o+OASfdKngf)!%DyOW`4uG%*e^f&i^Hf=bY#^+mdNcz~ zS)&IaVU2$Ag@>Gu{vl}UR+?I@K`TXZd=xmh=f&BnP}tuA=kFmfk5vmDfuerzOzO3fOejdyd;quq#?gLHXL5g+jp*%PUu<)S0 zPoNs)K_~2tWJV9tb5Fv9++QaDVMI(ND45u2Ui%!RA{HCq6A<>pyf}Zsagq{e8Fsbo zc208~`u7_M>&}ZKP?Rr(Jfs(1^W#>~Nt}}}+^9BNkMtC9gfG-yfr*#=Rl&~zBz!@! zzR*CBIr2sOS@`0!z!$#22SM=8MQ+#iD(H;mwa>Nsx!&Jn$JQydyy zml$yw^8n{4RI&T(V>+Ey;9w^$56&kz4t;8dGT+LJBgiP93cbjuw?Kp|MWOtEF73;W zIt6_ye=U;8!j$0k0A($Q8i}R=ovjW23^*_W=oD^)N6y0U$3a8*9m^atnxz$DMoml> z=d&~5IAW&HTaf=qH^%NnEw`%0A@>79@ga1#`(4B5a>!%jmRf&HbWopLRi70Ic}Vvk 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 literal 0 HcmV?d00001 diff --git a/stack.c b/stack.c index 98beac3..ad95163 100644 --- a/stack.c +++ b/stack.c @@ -13,10 +13,10 @@ StackNode *push(StackNode *stack, void *data) // 1. Einen neuen StackNode erstellen - StackNode *newNode = (StackNode *)malloc(sizeof(StackNode)); + StackNode* newNode = malloc(sizeof(StackNode)); // Überprüfen, ob die Speicherreservierung erfolgreich war - if (newNode == NULL) + if (!newNode) { // Wenn malloc fehlschlägt, geben wir NULL zurück, um einen Fehler anzuzeigen. return NULL; @@ -68,7 +68,7 @@ StackNode *pop(StackNode *stack) // Returns the data of the top element. void *top(StackNode *stack) { - if (stack == NULL) + if (!stack) { return NULL; } diff --git a/stack.o b/stack.o index 13ef7857fec006460afeb1baed2f42a17287e119..6ea9464ed88d02b1415b3275435807c2b195794a 100644 GIT binary patch delta 269 zcmdnXxs{76rHzdN1QM7ha!CmaFfuT(0Pz7Pupk4=MALLO9UxnTY2qR^RtKQ)i-~8I z84D(UTvPASTr0p(%Dw}n^fkLjx2u3hH$&{

;^19?fqIJUV@W0zkn|*B`I-fvg`u zX^+l>FF@)cTn7%I4U$!ttn+!ujNaS)f`<>quINk+yElN*_JSwY@pnY@`f Lol$49G|M6YAel|1 delta 144 zcmdnWwU?7CrHzdN1YR&raJ{*S7ya+)mzSwG-T=i@;;qH`}2MH8~ zqM$#-|6rsA>woZ75G*Kp>Vp_(W|Qk4ryuOxH#^_X?#=ErULOU*-UPr&W;xKY--($U z)5Fi40Jwn~LIH<@>I2=V#WkM!zww~j*XvPaE2eE{#CxRcq!XUP*azI#h6k>v+gaT% z>fVmdcLW!(E==oa->;c`Rqyhmy#qiM-Ti;)?o_tFRkrrkcam@C$-b{_?W)zCQN-oQ zhV!#Oa4z-VumZg==GItoxs6D*!`5TJ9$!@RSM-8*O{TFuhU5f}95`r? zGdr8i%_nnZWHTIHN#@oP)=Z*EfL^1-jAKT1pqfekBNL^2G;B7B>W!f3qeu9Ib$lq| z;E5mVx|vEWos=L)1K1E*xf=8Ri^eb zI=fT&gn}xOhTSC;m4f;t4ZB0=FN}uz;t<;E4vI)Yb0EJ9$_VPsR(&&>#TvqO d^i1}1-EJ46xE97GQbmTZ(9IxiwGFehe*s5MkmmpZ literal 0 HcmV?d00001