From ffa7bd27eb0d1118ca5c3f05757e7880f28cac9a Mon Sep 17 00:00:00 2001 From: Mineplay Date: Sat, 26 Apr 2025 04:50:00 -0500 Subject: [PATCH] feat(linked list): implemented has value function --- .../index/DynamicArray.c.4AD21698FC6EDB91.idx | Bin 4890 -> 4890 bytes .../index/DynamicArray.h.83D0CABD35D124C4.idx | Bin 1970 -> 1970 bytes .../index/LinkedList.c.D81166C9F6E527C3.idx | Bin 1642 -> 4486 bytes .../index/LinkedList.h.874993982F1D060C.idx | Bin 1240 -> 1908 bytes .../clangd/index/Main.c.3B29896BB83AC389.idx | Bin 1330 -> 1682 bytes .../clangd/index/Queue.c.05F0749C9DEA8BEB.idx | Bin 2540 -> 2540 bytes .../clangd/index/Queue.h.0FDB3A51CACEA373.idx | Bin 1510 -> 1502 bytes .../clangd/index/Stack.c.C4C7FD383A3A2CFD.idx | Bin 2140 -> 2140 bytes .../clangd/index/Stack.h.FBE39392F0B9E960.idx | Bin 1382 -> 1374 bytes Include/Fledasty/Core/LinkedList.h | 1 + Src/Core/LinkedList.c | 19 +++++++++++++++++- Tests/Main.c | 4 ++++ 12 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.cache/clangd/index/DynamicArray.c.4AD21698FC6EDB91.idx b/.cache/clangd/index/DynamicArray.c.4AD21698FC6EDB91.idx index 3172951b7bf6423b6a613045a794bf633dc715cf..ab42c03faa7666369f4915fcfd6afcac7d933efd 100644 GIT binary patch delta 40 ycmV+@0N4MTCYmO&vIYb?!T~_Dwgv_Y1Y^PhbhE$^5dsJ*Z%nkn`K9EO*%Cn`j1PYR delta 40 ycmV+@0N4MTCYmO&vIYb(!T~q4wgv_Y1X{uYYqP)*5dsL!sg-S@UQ!y9*%Cn?QVwDO diff --git a/.cache/clangd/index/DynamicArray.h.83D0CABD35D124C4.idx b/.cache/clangd/index/DynamicArray.h.83D0CABD35D124C4.idx index 08f901aa99e7d4bc00e68dcab5c755623f28ac2c..c3dd364b0c9cdfc7203d31ff7e76f72ae56ff613 100644 GIT binary patch delta 20 ccmdnQzlncC3p>Y#nd-mvzMpzNxrbd10AAS%QUCw| delta 20 bcmdnQzlncC3p+=a+k{k|#Q0Z}d)Uy4rTD)rkf7O*oI@{x6N&gjf+hL4l)=bc!gB3kO7)8wBbPr@B);0 zGNA&F6(<5OWvPJyo}vhp@ZfXw5iF#O(Z%elowV?DP@nTBonXSBnW~RYZs}P1+p#ys<~=k9>CZl!Pb$;Kf9cX}uj-jM=YP}2%16uZdv@48gQY1$ zrGn?jTLbjBr+E&SRiBLiD&S!45B8^bMc?h#Bo29X=mzSwHiWAFpVe z>n_cV=&)s-S*nX#cs;A&eV<|de}29oD7D1-iG@dM)^w--(c97g=vv-6{@kjI|CC&A z{^~FFE3TgZ@b5X6`=y5G-28tWYT*0)A$-r&NEzzoMPJl(%+0jLe0y@=s{IY#Q4fC~ z|5@Wtr2QP}X*X|b|E>LKv%>Po#;3j>x-z@@ofn-)Tl2m@sD1Psjj}cPr4t4IF~<)C zE_+?%Ss3bgzP9p>TPIemS0Ml;t1d;hD9<{)=jJz;FJF75a_E(hzc^60MKFK- zfTANi_vTUi?QPM$i3iu6j;j20Jf`SQ&;EzEm6qp}Mb8Y{;S!f^D|$!X=o$U_-K(uu zgYM)LZ{PJz9RKg#C-2?-E{%LXR+@A}u1I3>SlQHgndou0Pr?PD{Wn>&$LD&l6YKzbkPVxEECtZ$CyY<2S zjg?Q*l$mj<0bvb9s6&Jy5ftBtH|cVnuU{ScRrgMsTEMudgesF-FVveTK0Ra7VeP$J zt;=?=zDiRj#=$LgTh(Tv*-G)fr%gIgp4_~`D*}oN3y@D2l=geiq>0L`ik*r~;ugd$ zo@$3=7&4-!1R`#m+cA}bDKWAJlBUXLx{7E8=TxVRQkp@CVAb1jw&nV_we13+83Q#4 z6T|xFBW!V>&q&GoIbKX9n^bPBM70N0djZ)huu72J+3w9)OC<;@LBcXyG5Gwso@}Oy zeZnDE?n)(}Cc&~`1;#SS3>>nqvu;4!X4z&18;>R)tw+yhp~+6u&QPRhK=uqMkdK4x zI4Dq`3n04y3Ra)N8E@|XHB4`0iqXk*0hlmK7R8}FSzZ99-z3|_pqW=pd*NJX(lsn~3>v{-}G z1hGw!ib^+wv>7zW-4NRisn~iCNP9rT@(acO{NRDF9kXa+3N&f49CMiYA*3*Am>enG z5FUb*Vo!;|p~)6zOR#X4+C`9xg~e0blqMzW5`t|sKvKhlZ3vq|f^D>bx&;VwCnR+~ z*p{#dBy3wW=>>H!5abaE9l?RT{pw@QS2G=}Bs9^?)dXWRCZ}l~l6j3e7s+a}Msw&1 zYXx^eUjge|91e>PTaM1*+2Msq+4k&YRK?|Rr6U#Fi<4265=TioQUeq=Koy_}&0uea zWaJibv_Lv?CwMxc5>SO6u=hYRaxXY~Asu-H){HT+P?azVeIWS>qr$BTHOl)TMnaMPHKd`w9-y3alggA?s zlk*dhd;)%~fsMp`V)D9R4Xn(JVd9ct-`;Ep{HvW)EW#%#)YE-T$S0hzG zd<7&S*F$VQIM}{vasO15fog~we+Vo?!0Go2$gg0$`X5?V zw-DAyViHDl3j6{Z1LTq#M#~tzWYJRZW@}L0N)d!#JzVBd@q8M-FwQQ zDpB-_O+7MZh}6b~I1I)W#yq4@?@&&98*Njg&1SJBaOe@+cBDjJqCXbu_82s5m4_IH<_G58ZFEi*V-YIif zp@u#fm8Jd>cZM1CRB5V?eVZn$rK_i??%-$N&HFXxtRGE60z)(?d89PbA8DcALe95? zWNoq@!{rEb#3*u}GEa?ECN7hrth>~^f|05~Uj>}|V=svJ0>^tVkiD<~{i{J*4V(o$ z2-<_7M^TS}_y|amUkCB)Ts{VV$3Twu)1W;KdK9$}#C;$|?gw>01S1cCcz|mk05Sjz z(0(4I=edjcIcPrzJ-bM*$1~HGZ`n9JohI`|^EqFxmP?k~P|P)wHB-d4&fIeozjfH- z;thwZzuypZjfvC%ng+0AOP!$U1Ur^A0`v%|*%F4r2Zk#0*4<&w0kgN6v!3B}xC+VP8ZIPEc tNTUs=rY936^Azq z&oBMh_f@dodFm$7;L=e4`kPA|7rZm_na&xezW8Qaea8CtR^q8sLFrwySWRG9a{N`)6d+yE=%d(p=_=w59O4#&5=EG z{cbpgZ(SeXeeuoxHK|+0Keg_Sak|Fdv5%8&$x(xQx9!#QO;+x>kl5^*V(!{gJMG)UpT+Iz z&U60YIHRbbw7PaH_qiKuLtf3{-pKgvd(52F?WKuV_}}d_&p!S-Z(ZcSz&8GX-y8lg zY+v3Y5_*59@m;?EcW%zQSNCda>x`y&Ikk(4PQHJp9F6y%f5V-jxH31%2^gb7q1?O0 zJZeLE7-Sh3WUTqDwInq8G_@EwnHd?x#2F=6pK)pin?KxF$HO28R3OVIt1F?wr=iQh z$-)FtP?VZhe1VyP!9+%ynYa2F2NREste&g`T%U}!wzVzH8WYlYlZvE@EKHb3Mnh5qiKlI$Z3C0L$hNxSqlu;t z&@pO~YBDfk9vM?fQ#j96mbYW7ii-_Uk&cH>7($V*oURUxH@QNJQ|;sGJ(hks0MB>$I_aXUM*G|_TA*mOn zmki^<%w^;PM-VX9z~FLpj?22@dkKs@GPeA-x-eBRT|m{K*n+7(w9HNJv)TLxpl4Mj zRpnr+cw`(M99?00Mf&7ZD!3j@0V;BnbJKze^T>D$ddtFivbE<5p3FMCg_B1{PFhYL zW&w|kvXHVEf~Tses*2#L$*UlINU^FiZ1QHFX{Kw=@8Ii?qcp5Fkv1UA2A;| zZ_13@&m}(E9|k5X12F?Bgms4EhDeFbMb$+UWBV)~A%?mTBC^aV$ z6f4C=$;H+nh6IR!07)2wfl=n{5@n;W*(cIiBqXJz8KmGc4AKZ@a&AhF5RfY*Ai~DZ R!^_RV$uGz!$|b-m3;=i?62<@k diff --git a/.cache/clangd/index/LinkedList.h.874993982F1D060C.idx b/.cache/clangd/index/LinkedList.h.874993982F1D060C.idx index 069dd2ab0c12aeeb99b20d472c3e15ea19754b8e..c28d3cb8536e09206cdc4acf3c1dfd4e02a8f5f3 100644 GIT binary patch literal 1908 zcmYjR3s4hR6ulchvdLx>0u4OWgaimCh9o8$Z3hvsL{PL6#9y?EqNoLN2xCE{qs3~q zBF=zQD}JCV3>85o*3q^~tKtW(;8g2Cb*ci|)(;=8zhe8c$qU_?-0Yrr-@E6Ydv>i! z7E9I;fQcDN`PobI(!Bv70RQZHxy#!rfNgj!fA`fHaVt9v;?C5(o+>)ae_CPfGBY2wfFe|sH(EdYIePjIAEP9otT&gIu>WX}cG1a+dcdM)N>5S`33{Km>pyd69u!02;dhfI>c!$u%{V(m#hYFbrU*jkT$fmes0(7We=gfD=C5 z%wAu-Bt^zTgb+}KAVS0i@Z(N^Hs3?*dPl3ZEJ*RPDqI!G1+x5JQR432*+F^+Wcc_t z%BPJALq;EC7*{|Nhzlge9j!im=vk~Uh%rUENFKq3L5gMhA++k!y#y8_{Q-sYLq%L5 zCHgCuSKXeMU}fPQCqe%RB^SuDBu((0G_fd+f#H}zJR7e;8djqLdI;reaGe#!d zKVd+QQ{=2X3aMFj6wr*XE8(YVi>%+gZygINr%=OG3N8?uvak)Jn8TS(0!{@bPZ^Ay zVNiwgogEK?dncS_Asnlq2vbCIf$X0>(03$xUFvNH6u5pin{7loR%Zm-kLRkt{ot8O zN6FGh41{5sO#vnY7dRcbIY91`rS^gUd4}e@yy6-(Fi5Ra$9noinvt6E9&wRYqmA}> z3F%C_1P>#mAFEIDNQew(L!w7>WDGZ&Jtje>QKpH6==`%^cXw@f2zd-Lg38W4DN=>Y%t83+6@!AFw9xm4HF|f zd&Vwyqd*Ldo8ye@#u=pYR)vr~q)EKj>0r_v83nGynby6RsEo6nekGM6=dKKwZ20z# zFP<`}g@h)9G@ucZ&KaZyt&q%?K|0V0Nf`#|K`$g-Gspl2A&~~Z1zG9NO7`5vc0K;* cq5GN)UUN#v5U=2%5C|eH073?Dg9mT_0}A9XVgLXD literal 1240 zcmWIYbaT7F!oc91;#rZKT9OE4G6(~4aY<2TE+YfOT4n}@iaARs1^OQ{5NZ7#{Ov%q zKm_xzNAnEWgoPh*KdjVz%PRFg>T=m-&p+?utO62sF8zAj7@4ahL?GSLN zy=vWA;}tu3A@GgX~G;bBUjX3ulyEoNK9T@N2fgwJWWm}9#SbLzF(=iV(_UL0-0)033lJE8F0_H7J$nbj{3eiT_N za^i2;4ma6}Q4=@b*)6?AyRkcA?hOX_HC=&E-3{6D8GEi@afMZyicLB<)pWjkV1j`ItbpMn+v+*ilLAOut(%O|VLr@^P8%fQLP1W|Bk znVZ~av-u5t45A?S%cv@X377?P$}RkMYts*KgWa#lq$t4$A`tGMGUN7hiI4V&`51(O z?pIJ&PzMt*{R~B^X~oNs!kL*1626eoW8mS_(9>{$yOK{+ThkWiDHGcxTsJDCM3{N_ zR9IBFU=ab-lCF`9(4x`EsL{>{QQ+rLM_{VGXcYoL4y}& xF%O?6gC;M`bw#N;i6BFZi;|0#K@7fg`XOxmdu#)kc=;LlK_U>q3u7=a001<`Uz7j< diff --git a/.cache/clangd/index/Main.c.3B29896BB83AC389.idx b/.cache/clangd/index/Main.c.3B29896BB83AC389.idx index 089ca5b39881d563caa0538afdf6caf5e5bb644d..427eb78e91e5d465de92d42fa5b74397088d9cb5 100644 GIT binary patch literal 1682 zcmY+_2~ZPP7y#f6JahwrKuA(U!Wm8pAc~w`2!sNn!)3Ty?jvASl87M@kfeYWsTL@s zh;me5(1O?kZAFj*)0R%LiqryDELy5%9JPooqM?1UeQWw=vU&ga{{1)m@0(3z2%mp+ z6@~?*hsZ=3(iDJUm?`{7q++2v3B#1S7$&Rlhz!rwaW@{b3@u~Gv%d<+b;9M2y$@*B zdFJ)uq4sf$cfI!=@8 zd=oZj5TA5RsN=xo5oUmxJgzeAjnDQSf5 z_TaE}4HaMGBnn*!giLhWWcthrI=6uiISXXjAYP<2D|&}tXgCB9u|s@h&i+tsjfex; z9GIIUriHe(H8SVTA&YPk7qRkvqw%zi2n)ysP6aNAdtAK5^0@#mHFci-dt}_#Ok@unCsIl4d;V=XT+^K3s+ZCRC35tAmt(cjqDWVH9JrQIS1qr zts83PTRih@I1E`9Bnw5^?5=Z>m5udE$j-R4C1Sfvmy8w*=Sv|c;Yp5&(Kku|e_KNB zu*B$pyj%gZ)9^G0lx4}Pwcfq>=tIa>xD^{Q!>cXT|D;I`Z$SmrLv_S-JVsBm3UbumA{%hvsWMbf)Lj!4(RHZVPPn(eI|v9dSpaHxUo#X+=K3 zM=NtPzFBL{ANSXa67fW>C>c-Iiqi3Ptw@f`wW4CYSSwPIfQm$1v3bnqr+LMz6?iA> z!Fu8yBF@;8qIqLU#A%XX&BR1=cs)pT@9%t~e(ecgqsO3`8k=CoXa&OF?2Q_Ww? be)C%uLI%uSqP#>p)m z^BZHiE-D^wx{&3^9#Q3d^U=~z;@fv_d&+CMae~_kNB7Iy4Vi1esEh&!&Vr5&a9(QcD$YwxnszYXsMI!-BYpZ09~-7+us!x}FC z4#l_D+~uj+U@Lvj=DKot8V*wENy*~a{Ju#WrE^w|4xy;d3s5(%Z5wmw3QW# zTY5hy^vqcQg-^WiUx)kJRTt-&u2k3-`jw&J?8W-V$`zG%@_XdwRQ3eQhtxA4zTP95 z|7eTftvBmRthm4KEuG^LBT>-xBT7vO+R;X=ZD6Y&+k_U#{-|$z}50~<{@i2%2 z15%1biUUjlWgws^HLW-l7^XK;?oAL;o-e}4Bb>&PrUcXWg=bOqw!=R`!X6wRsxaY> zr)o9RrsT>1g=JV|WMRTvbuEgjo;oW7g@ajwbz#Cqy|=_u*JT+1g;ix#6=1?DCt6Dx zp0XGNg#%au^kBlQ&f(wWT=e{a!r?68S}@_0kr__EGxOqr!fq^XaF?johu6F;&PZVb zstyhhhpFZfj?|9Shw%&*B+t#7EK&f}Yp!f=1{0Rvuq3E=!JHVWlCgq^5cj*u@$VZ=<^hGHG@_hfhU9&}BDv?t zizPr|R~A#^ub!Gyho9!z%kmplR# zwpO%;tInP;`sK%Jr87Wbdk%YenEVYZT>9_Np({XPX%=Zgm?0L@c8QV$pOuS| F7XT-435Wmy diff --git a/.cache/clangd/index/Queue.c.05F0749C9DEA8BEB.idx b/.cache/clangd/index/Queue.c.05F0749C9DEA8BEB.idx index 8f457965e33b67618450d0d0374d89966f87aa82..98ae1e7264f05573b63831c8f57dfb37b081943e 100644 GIT binary patch delta 20 ccmaDO{6=`g3{H-?hRRl<4WAZGUcl)C0AQsF5&!@I delta 20 ccmaDO{6=`g3{DQ~%;Rl*aTotjUcl)C0AI!l4FCWD diff --git a/.cache/clangd/index/Queue.h.0FDB3A51CACEA373.idx b/.cache/clangd/index/Queue.h.0FDB3A51CACEA373.idx index de8de225110250cc943b15d4e3e29f6cc027d419..ca5a60d18968d05c86b5966d760fae4f6474c417 100644 GIT binary patch delta 589 zcmaFHeUH07$kWa38Y=^XbBbq0ZfZ#)3j+g#Fc24)6lL}@GBE503RKKF8@$o)uz|qW z(|p^+VaZW~&!g6PKxo zPyE+##npE5wov!`GM5_ywy147=BR(m_V#MMqrZChJDgu6f35wN^EqYNvx|yf`pt0M z@S#P+_om3PV3%`MFV#E`9h=_lcVk{`WVVj=rA=ofQfA)IIbbxiXWHuBPdCP>UAB^u zoV-XVXm=a$o{hb39`zQ_cWO3xFFqg~A-8xUljYMx-(J`(C{?(oyW4d#XHD6$F5QA7 zyJlQBd7tv(-2xTaNk>gfJ6reTZRLFY zr@lI5gJt$br&JGieyNW4>4)XZ&$2(b*TQnw=YQ4ZTbU~NeE09oV*h^Hdx{pv>GWB_ z5z}vFHr_RwV=%=jaHpd?>j$F)KBf&ePj%QAMr_aY%Sid#pLBn&%MJyG;>z5lg}{jE zc&b)2ZAz{T4}%0SxZ5bseYcSb!$UwvyCg(FrDoH~*qS|cQ5)7QI zj0_6=jH0aDCT8;Xe7D@p#~?p>6_Xr?I84t4CM!nS$=uAg!cs7uT5MX944j-S3<{g0 VnKPI;bZ%u=pKY{zGWj&CGyvCR>O}wm delta 725 zcmcb|{fxUl$kWa39xDTbbBbq0ZfZ#)3j+g#Fc24)6lG3jWMKFK6sVYUHh81oVFQ7$ z%Tr!BtTqd4Z1r*FP;m<>?UVU^DI(_4gU!s0AKzPeI&KMEDZt&mwEF$rzw_RmIj5F? z`U#&SXVKeccK(Y#RoM%RUIvHn^S_yS)@Ih8x$3q+VNZK=TuwGazB1a)?jhM zL(agNt8{ypcg*>E$#-(g+_`*Ksq^2g-Fj@3t?ua_$7w%p*iWYzMc$2D|Lv*KOw)%a zW{7N^aBFMMlisINiuDiYh%aN&>t*s!sO)j$dJ@86y`a0ntno(48!=zCg10@Q(GNO& zcV=WUOutH{%?HT)@`5ack`e8Bx{_L zv`QgoT_%5GZ02&-Z?j7d1aPIkb(1wc@R-B+E61mh4NNUbe`i@OoXC5BVl6{Z**SlP z;>z5lg}?~vc&b)2ZAz{T4}&BFgSZTzjJl{ApPD)YCp$9(7ayZ2Yf=HVgs3)~wgdwwDA3g9K2&4WEsQs5+mz3RpkbeSgCWm;U>6X!1QK6-K$q%*?jJ(m;h7Y#EZGT5MX9 o44j-S42qkBnKPJ_7b=F_yuSA|BeRIG7=swd{SY7mV=yoP0F3J8YiZa_785lMK1uEv84c?e{$Uxxh z@{|MymW>NyXLYVx6qJ5M#`0WiM9iZT&zJZH{@?4zvqB)SO)pmGZuR>&-%HZXkZ2^sLy4&R|&$CcDvTmA0nuipL6=bPlOwcjc}$1QudDf;EQ8IA_u zTQo{{PbanVe(i7xd>6DXCam#luxNrGQZb0-~C1nvx8h zoGc7-lfN+PD#<{E8ALVsG!z*)*_ar(_!vc5O?p`O?$ug8mybbqvNMydmo!Y77Mqp? z11BpZgB(9lS@wLqvJ9twTiueX(_OPJ6##P-|L_TdI+S> z$akJmIHq_v5tve1gUXIs@!te^M+dgfhN?`zLFuXHr??xnk7dcoWi zBGXxw>ViD7rjT|L1Z+GUbiz*T+8Axvm6kO^F{_A z7BW&UnO{&O8PJxu34sGvP-HnjbO>>DK5$()m?0WuRC000+T23r{wDF!JS00{{M z03Va=0WAm}000+94o4xAAp#iz9+Nu)Jt7size == 0; } #endif diff --git a/Src/Core/LinkedList.c b/Src/Core/LinkedList.c index 0d7fc11..4940acc 100644 --- a/Src/Core/LinkedList.c +++ b/Src/Core/LinkedList.c @@ -194,7 +194,7 @@ FledastyError fledasty_linked_list_insert_after_value(FledastyLinkedList *curren if (current_node == current_linked_list->end) { new_node->next = NULL; - + current_linked_list->end->next = new_node; current_linked_list->end = new_node; } else { @@ -205,3 +205,20 @@ FledastyError fledasty_linked_list_insert_after_value(FledastyLinkedList *curren current_linked_list->size += 1; return FLEDASTY_ERROR_NONE; } + +bool fledasty_linked_list_has_value(FledastyLinkedList *current_linked_list, void *value) { + if (current_linked_list == NULL || value == NULL) { + return false; + } + + FledastyLinkedListNode *current_node = current_linked_list->start; + while (current_node != NULL) { + if (hallocy_compare_memory(current_node->value, value, current_linked_list->element_byte_size)) { + return true; + } + + current_node = current_node->next; + } + + return false; +} diff --git a/Tests/Main.c b/Tests/Main.c index 3115622..3b4dcff 100644 --- a/Tests/Main.c +++ b/Tests/Main.c @@ -124,6 +124,10 @@ int main() { test_linked_list_node = test_linked_list_node->next; } + if (fledasty_linked_list_has_value(&test_linked_list, &insert_value)) { + printf("Linked list contains %d\n", insert_value); + } + if (fledasty_linked_list_is_empty(&test_linked_list)) { printf("Linked list is empty\n"); }