From 735c1d0c2476cf0cccece11eb4ef8b99aaf19122 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Wed, 24 Nov 2021 01:24:05 +0100 Subject: [PATCH] started files --- slides/cours_9.md | 35 +++++++++++++++++++++++ slides/figs/fig_queue_representation.png | Bin 0 -> 7251 bytes 2 files changed, 35 insertions(+) create mode 100644 slides/figs/fig_queue_representation.png diff --git a/slides/cours_9.md b/slides/cours_9.md index 8f5474e..1216294 100644 --- a/slides/cours_9.md +++ b/slides/cours_9.md @@ -656,3 +656,38 @@ void stack_destroy(stack *s) { } ``` +# La file d'attente (1/N) + +* Structure de données abstraite permettant le stockage d'éléments. +* *FIFO*: First In First Out, ou première entrée première sortie. +* Analogue de la vie "réelle"": + * File à un guichet, + * Serveur d'impressions, + * Mémoire tampon, ... + +## Fonctionnalités + + . . . + +* Enfiler, ajouter un élément à la fin de la file. +* Défiler, extraire un élément au devant de la file. +* Tester si la file est vide. + +. . . + +* Lire l'élément de la fin de la file. +* Lire l'élément du devant de la file. +* Créer une liste vide. +* Détruire une liste vide. + +# La file d'attente (2/N) + +## Implémentation possible + +* La structure file, contient un pointeur vers la tête et un vers la queue. +* Entre les deux, les éléments sont stockés dans une liste chaînée (comme une + pile). + + + diff --git a/slides/figs/fig_queue_representation.png b/slides/figs/fig_queue_representation.png new file mode 100644 index 0000000000000000000000000000000000000000..262d9a7ee941a10e3d50a19ac87a287d6f42ce71 GIT binary patch literal 7251 zcmeAS@N?(olHy`uVBq!ia0y~yV5($bVCdvvVqjpnpSJTD0|Ntdv6E*A2M5RPhyD*3 z7-YCTT^vIy=DfXIpCkPJF8hc4OP`)BV2zK6;@NV8S2toI^JfM2&ue1!Ub);Y6}kMW z!CEo#%EDRew3ppFaM7#qXuw{-;JKMm>+Z7X-8%64+QZ)T?yZ@pQ>E8V=SfOvVgC5o zNkPWfW!-^Ei+SGtJp3R|__)f!=btU#Uyna`_vatWdV~Di-@ktM5^+^zU|?7<GiWb2 z0|SFb(TOMq28LY4Y(@r#Ev;)<85k~zZ4zT(aEOLT+_kL`JYIPA?Af3CPyI^D%If}n zJkBkqb7A*{i5nwy;?|o#-|fo&nN8Nmnf>a8gL_UUvg^mZv98$k``mZq_YZ$Bo8m9A z!JznB+u_9Bck7<>&orMqckbQ0cc<&cUfMlDP=MuN*4C^qR_^Sd8DvAiM*KOE%l`V_ z-``8B|7ANxwng|@*8Qo-%zSy6-+oT2x_h78e!q9W_HPg8kC<1vylnT}$2%rYUo~6) z&ja@Tzpk$D2`x5|xUw#x#DM>TqiIP2Lx}-@(d~oYwc+vKt=2yCl)RpIZ_iD?>3hH3 z%8vZDq4M*yNa6Rk!B*)XwC1d5Wnegw_W9Y_)YR?#w>E7unty(Jp)M#e5<Cv`-_p6Q z0170d)1DWEQgj&@9NcztMKys!OhTvK(R;#HP>eq@%isj*aL|43=v_2x>!vxoYa8V* zI4*W(=jG$oVTfYUJsEh-tLDmk6YJ(0y)rf{2lie*Srd!M4)&O|+4C>&o?y6c-@dr+ z1*(>(qHaAaynSNA`xBEUdMJtWFE%zjbxdV%_XQ5CjFJ}%4hDuzKkmnW(?Ri2QRNyp zYt~wYy?gftFZa8ul;QbqpYt+}u2Val{8;uZOzD$zb$7ZVu5oR;r6P;0iCxKs2O3tz z|2xjK?`2%au`f>V3$v!ae*DHH*J-?M!dvYB|2(fBx5uL5=iJn_Qxg9E6OiWn={!e8 z*r{Vq%HDen(%*K^naAOuVkhU@k)$NVb)41dN5}cs{O!zn$3*>}{g<5nBjZ47GSkKt z_up=rwf0?y1BarKJa_wH#r>yG{&=jUs3cw%tvM@^H8LT#jDPkN7d^Shu6ANv?vq`= zCb>hxV`e|wpM?g}pV${4I_o<B{elBWA2l6ucX}wHFKqbi`>#VeCk`7h`t_?jdAa@R zIV;+?*>3vftZkLaN|Ish>@pn>c|O~`o2nhI=09&v;#{K>({!V=va;Cp<)8d{xAb#d z&Z}?{*O&J<Uook^9O#-Em0MX<zJ8HLueLAueY>?9r!M+_)_H9oB;p!)%j~ST?(dAh zZ=z2ZJzl&0UXg{&_WSGh7cR{_bxGF!x9HOSg<q%KoPBG`zy53M^DJs#EBLII{w?bI zGC#`xcF5%mH#V$XxHf+0&P{Jl%I>vXQ+eb3=CW!x_V*lCE86(_($4?&)jt=#bNTmY zzNe>%&z`~~YjZy!IqK#Ljjly=@>a~;yU#ap%H@3hJzI6$+ip89Ek8avb#wT8%elKU zS7ln*pW$1@uVP+w``~l4|L?y1^fy{p^>*v^ZFzTR{e8DG*Kf|`u$-IL6>leq^Y5}X zJa+8tJ`Pt7#VI%E{QB42$>G=7?bg!b@uac&)tiMX>S{@Xea}^It~xF)-L*(_^VQ77 z9ExGHBgIk<9e?C`Qm#|Lsl)orthFryPKFCRuAlo+;rD^}<6b{OXacsB>kIN}P-_u5 zm9w<d!K00DRp0$rk1Gr%yIopZOjhi!bh;>FXzZu0*s?7u({obSo@QmKnKheUPwtVv zbFloxBo#r=Uu$j}DYkrAbNq0S-ummgi`nlw_f+0hJo)nLF3IA9Hs3et2;X|S_vG1# zm9x9o`n7ej1;-bPs+U}Nalx^9vWn-lBaQc2(qAt)@-wz^$=%0a4W8ME&b+!dOf;XJ zJHakR`>~1oVMRZsmJ^e7PH%D%%IR1fTQ<vMk;chMIwy@5cIupVnWmyB)fMQse5Qwz z{>c^(){n_X(#hfx@fwPPPAYx9DydE#63LVO%*4KSGwN&KxiiU2)?HC#uJnrq7Z*0O zrI+o>aWat+=2UbMOO2fLv`5zG=uDN)jRM-1lG>`>O;fUVoojdCko08Fm-TR*Qd`|> zC~x$X=Xiwm^R3o*{}se6$}~JURsVCuW4U9G`%i_<KC*F+#~Qz5GM{%I_PqJ(lhx$9 zV{f}T(zGAmm|^gXU0yWuK@z9ugGZc!Lc)c90+S8>idvQPG<U3+v*@hPm1ku^Nq64! zb^1xWM#kzDZ@&Mu`;$;=xpnJ=+taH;McBc?ws`Z;WI^%w<+twc3kX?qMo9d5?z~1> z6YIO%Tn@Z_u44SS)Z20TY4K-g!>lBGpVZgPK65<zPpG1tf7he~M<*>haJ2II1}hIc z>j_OigH*d^{Id*yh^#An%(}(+&E{XuFW=kN{;H`z_ezrQ@9|U-p%Mf8>T7&fGv?c7 zv&)9`_e%XsSi#6`Dj^*jqH!zh>Tb3j!r+i}3%8Ng`S5cBBLhRv+6m8{*%%lM_At%o zmn_+kb#>MKf8VxOg)=TLd38l|TI$zzOz%!S?zgXdc1CjV>IT7#%*;-=#m;L@kJOx) zkpKVJ_5FA9zAtj^w&=UOTTEi3_jJ9r(c8}@ZQP(!{q~mW-qVd2fBe4xKW}4%M4RIy zDcA7u>z~it+ozwKlVMWz_*gGvHg|<x%7tj9i7VEEKyG$6*c{{Zb8DivzkAp&@AgP4 zytvp{=z7Gh+qdV}|NE(5_pw`2xLl*$Lf&Z8Hi-h6?Fk2)o}Qk*ef##;vD`fpLfbhM z3VG9AI<5aO2HVZoe;oDanY(tA!kWm<YQNd`?%lg}>(<5h_W$yC4Yd35pxL(iTg~6s z@#|Ntkhp7id=tO@pAY@@e;#+dJ5)GFf#YC8fe62P7qfbbhw8i8`THWn!_EJEzhy9` z{9a}H_jh-1ZWm;6oTSp0SoC$l$|Gx6uAFIKU$^d?<+49tmfPEwzq|8cyZp=S3D18r zdIxpxE`5FN>}+%GQ$KpXpE_A{;zShh)hkz0B4__<EdG|e$)f1Vi3hFbd3SDXPVc{) zxBquuNm+`Owe{@Tv)xOk_x164PI9YSKSeuyT}n*dvokYuZ*Qypc{*P1sGZ~5y?g&Y zIM{r1`^40rx3*?)znimU*6i84ckh0``~AK<@5*#;?63d7G5L7g{=Xja&9=6-lAz#X zZ$7y4|7Tt&wz?lDulhH9u-_E6CM^3~dGx`A36FPNtkqI#Ig+&T-MhT6LX%H^x#X>1 z`}_9&e;51fS{Q?sw-!A;HB~#j?}gq<J~LC(-bW87oqY13-_AJg%!<{ks~@(CZ_B-H zwy6BOK}0PWe9H}zmHFDebjgyG4~J&Wnl;zDJn#NK+4TnlC0;)GGjShV^2QsRQctt# ztXZ|{)}G4GU834yEcNyYp?vk(-D`B&f|vQ++>qFO{<-l?pQ`IjizoWsEPQ<IWh{43 zkXCB?nHdYq6%AruPSMppYfz%OeR5QWp_x|?drX<OZ}dzC^AA~p6QZY1oyyD0+oX_l zYl~*Nqjq89e)}_SHzwE%h!$-LK9O;(N0OJ9SKV*Uho3b&xuY}%i*9CgEy~rq+8yvH zS+W1FtmdMfzqy@#eSO{C*^d`m@<bWFOJ5Vh>3aLlLzRE>XSc3ewd(Hfa(TO&8;?Ie zQOxKRi_})NxGC+;<#b26_3xVl#uq0jo6XKW-Y0v!U;g{g8j-1&SEs2o{bLdS^n1^~ zhUqPT0{2`nUFdsC$f@JZMnS6?0;+begbwG$>s)o5dBM!<L2r?zvGWC`R8B>guGYtX zW}08sBh}>#*o88p*4;5n?KHb=^6Z~=%B`1$!cH7dON`C#MG0It)^m$Yv)>uKNk{E5 z=gqSLn>2)GnH_q%z9;S4nn+n$S*f=%+p3&;rmD4+wKlEum>|x%kaJ<i=Ce^2;T`67 zjsiMj-D<n1z1=tAs+XWswNu?Ssi&!rT%Ny+$<56@7PvG^>TLU(yFa5e<&+t(IcI-k zSRkq<u*vGKpVk|5^|=!_aIgP(XSP9NQ<-&mY@X}1&YLf{)NSKCdq#F`(=>ske=*#- zdg}j_&vxFPm$7>N`u~S)*=F%aK3iP3-8|;~cQ+PaIR=x|uWk|iqMv^!PdVEozO%7& zql74j5l6)1N6B+cpKN{^du&F+fu9pJXRDv#Jh^>sr-R1AlgbTkPh3u%ue7ieT%@cg z?k6faO@jOLy$#~e3wyjfHWVqmIV62=kHM>&6I0H<E)Qb)A1K``!o6wB?1dV$^~JtV z_F&1M-s9otrnJfYiPI&iX-8U<pE)qxmltn4G@CzipXs?ku}M>ozdrL<xnY^cEgu(8 zr51rx&$iq&*mt(#Ns7vxEx&EeoH~vi-+8`{PvP;|^@bjt)2803n?6%ON%gTz-HN5F zo#yac3Z}#ao_bn#`|Or(-oy`c9tNxvIL*qW*tzjk(}T3X7U3y6MMh@~r2l>7T<LxG zxNU0b;s;7C0)~>kpTjGKym##J(~g_j>iy_X&+2~<LW8FNs{Xdj?B3FR&*aF)bM0?< zRF?*v`_A<<rL0w{B2`)}^}D)CeVb_7?)Im)JDh4CE}mHs#P>RuRbbNY`3w(dRWUFy zNIv<neH*A}($L6NZ<hjUavLA0Il;idaBS&OlU}gQY?E31l9AjD3=SNMU%!5hV$nUg z^${Zj1Bc??y?d|r``rC;%6wCf@vEN`CT?Y5IDF~GjT@IQCvS{MJ2NBk?;9_h0F_gx zPlvBradOka4bPqDSyWU$Tl4nCi;Bm+=58TN_kDYN`})<ZscUA<o;`c(ZA+^e>@ODF zig@whU^DycS9yL<L!zRra&K*s+`fd#qIFqj6W=q}y!htp>$QLLmCL?=b9TqKzu)ig z|NZXddHe7C>vLp3ox1#f|Nnnmg|a4T9u~PKx#?Qg)+n86%a$z*44+dxzvk1)`hTD2 z>(@NwcFz6q@woi`9fgY*WXbXEzPs*d9`}ak?X7&P7B*KJFXGdS*q~7R`&h4Z`uTab z)!*K<%hy>XZ1$Y2rW?0MLiS9*%s#gGx@-TIU+cScY0|;f>*Dri&H8vhH8nL?-R|Fy zr1)dImv56af46^LNW9^%X+o}nMWHLoBBtHlkm#J8tbEv@>N*oc@)V7(;N^a2_nke| z%KiHFYjM4p8S^I{(C9Jbvz+O3YSW)H#^<+e+x9A!o1w?``uccrmW7KJC9U9<t9Z~D zySuFR%SCsND2X!?$%`xIskg-JtNFQd`Mj*Wym`jyefLBe9X?vu{3!7D_Rh}E_Vzx# z(79cP@A#I?%T-lXY&l_JVb8w*j<5gwl~Y*lMUc9PU2;u(j@fMem>m;#+2-Ebvj6Yf z{Har?{+h<ZaP;|=mBB9ya&vR%nr4TUmTo=#aK*ZH^X%*G6jemHmbSYuwfTOhIDhX~ zv48GOZ+Iqbouo2#`t;S)L&CzgZP}6{sm01*AS139<8d@gD?W3UU;FCA4>h#4r8m^t z$ko4Exjbn5^Ru(V<KyFlC%+9>V$fteamz(%W5&frjNGz($LIh5^So2o_)iZfLxM*5 zx|qQB*URVE&FZ=uvd?dxjpgsV!G{+w^O?CR_x3i^>}yk|NhP1)esPW=^7N)RyGmcP z>8DF9+qiM!q7{FpvoN?V)abH`IX};KHQ#l1`I>?y)-{iN&EsmnhVHr8E@*h*#)`@6 z{(Ny3$;WysKR+uiEq!Rh$-q<a<ix};nb(=w`Ia2|+NnNo#p>0YZ|0Qm_^cbf?a2}k ziC~@yTif~N{qE~&YJRM+kv7k}lEKHwV4&nEa3y(`mbP~A&tHeQ^;f7bV7SoDxX*c> zRq3juNs-%fZhm@tnz_-z)z#J6x%r+eW5c{%yLVrGSoMDI_f^MDdgblo-ZL@U9cPHV zef6qo?yW6X-p;iyzjpQNT<dbb`;!<H&j0%L>&nAh*RL<<yRH-L!yv-MoU%5`-~W8= z_q*i}4m4iLzss<oV=24I)@|FknilYdcOP9;Udo`HuwjjAi_Nzi$=%}mb$`EJ|EkBr zP_$<6-q^Y8UtT=K*S>hwDzEpi7~IZRME?H!zW)F9{r^nW+}JdjWMySv6>N>rc~x_D zw^hR&!?<g5wpCkJt$KB5XYtF)I~Wo~Y;A2{70BAx?Xik^zw^1=UT&5PEgv^c69|fo zj0_LoUiLO>FE?Yu?Fp%ow##0AdV2a*!QTJ>et*>yP>|=DxmDUM$D;DnllOJstwG9o zzP-OcpYOV`y5EZ9CbnNLI9G+UFJN{~dmI1n({%ND6^A;eGK;9rdw%)hty{OO>i_*I z*<ttV#bS^ud*?J=#Um+3e;<kO|8eX3zGdZ#49S7%>C3HRmiy12#~0pyxKZ*aBb!0i zwJICA$tS;@vwr^~mgB&Tf{%|}OLz21oBPSGo6#Y!V7)l)?Yh|A*Vf11zk7FWxgx{S zm#?m_e#Llr@7}$y3QT98trF)*P;onZ%X_-sOrK?-@?}PZj6(RWTemJfta@|9@N2`v zna1g_Vr3f|B~7zA6?qOD@Cfs;ebr+*u%b`iejeZTY15|dEPlT1aOt}{JFCLk18jKa zY_<RMkiY!xt*!O{>-KUp8uS!DKezJm)f}_shqvz9^=sYkcb9fMG(1Xqu*SCT&yP1Z zHybvJIEYPBS$W)K>Xa!f4wqh9;#nomVW1{qk<F<%b?Q`U^Sm!VYpTSV0yNge?q0@s z9n{pDp|;16^+M~$&EKr=|MaV_{{6oGfAwB&#tWAZHnU%TSoP$DVCfFKPbZYC!r2+v z&fnVq@9TO~Q`7(dzVBD}nX#Z;m*Hpeqa&RqJGO1v5)vA^^zhZZ?XP2H8F*6OtWj;5 z;j?V6b-7;bu8{Xm3??Q2{#1UQv8=1Bt7J!5czD0Gx!-#xMg{4^>2FtsuGZ-Kb@O~3 zD3W%Tyu74Zy5ruCLTB4$oy#)!a<eoD8q{3-_i6h6nx9Xn8#ana-2M9c`qhV8U5mhx zxvspC!Jw+`{H-f2LH~aow_mk-_1AT*2`PN?c60cyJGb+#JY0HhO(e(<mdQWXsJ7HR z)sBzcl5z3c+UT!(EDy~5=2|V?SMY01<mO8ct?K{P>|M>wuvWzR+O_M~-{07%Jk#e@ zEXM%{alM!Teu-t7QMC`hY}#Z5a#xK;+Zx;2UnQxjs%jIOoC=<v5-r_P_v_{ISB!@z ztNUNu?Z9xs(J)0<G3DGG%lm(xna5YXRNc$nXy_g&Qo3WFZFQLJI)1w!3+}NpHT>&R z$!2amaIl$OT3Y(69?P*7W%s@%{=4NY3LIqDna%cn|B7M30};<_?{05@zwx--VV0l; zg0KSS^77b1)>MWaYn4t$Idz;&>2gszJx%xWZUGIpyLa!tD%kt|UiH=FS;zY2*Oxak zB&Zynyftq9_AOgVet&ygCC=1#1zd#e+h<q0BP=B3MXUmYM8wCGx9svY4?h1iXcXaz zuW|^^&R(s+0nYxQpgj6GZ!fomt)sxb>i2uU%)h=a_Vvq`k-N*@GV|LkNDeJ`nzSUv z=%hi<z1Al;rs+n1(R;Y;+qbgPeaqNPu3o#AcW1{&NFlQzL-I$l?(xE{Teq5;n!Z$R z=aZdfQTWK2-*!oIX!)ZzH#e*M&kK>Cc+qoG$%hAyvj2NaOG;K8zM8ag2|JIq4By^W zObr{4eTZDW?*DQ7e;;?h-&g(Of}-r|UBV9wDh{{t9(#Ktp}Bg=)_L>fN_X_h+sDbS z`+ld`|DF~jgNN~l@)OOrzu#=W|LfZJUAuM}G+w!(czRQn&*i75rw2dWm3Md7+uPgk z*Z==pCC<SR5EE&gduz+i;^+UKneVUs`E>f%b*v^^>i_>M*)h+eQ0eQ;uREX5<8F02 zX4}lb;JRkTrfCA3Qch0VTm4-ryPN0yXGj%lU%&70!-_v2kH^=3z3MJs8}j}Y14G_o zj?HDax8>H>*3NJ^b-~Ko`szcg+FxI;SY8iZ9cC%hcj;2lUTzi!iN>VUw_3Ty!$Ly- zJmjyB*jKaj-qr&gF?%WkW!F7E*6ZE+x_tld*!IJQg^ygo8uligj&eF-eBNer`TMw( z+{WEiUsqKfD9F#x*NVBmF824k-S20eO#>-CF;nTxEmiMnYvT4sz1LD`-nMO9$qqT| zG9A-|ikFv`-v52?d)m1<E6Yn67@{-}t%==J@o}m5^lxu(e_yI!>-j$Flk+rA*VHII zE}>l0^r)%obLY-&neg@X_2o)s@9ym6Yfrwo$aVdmPp9teEdIKhn?YfHmqE6=&x{XO z*VmQ4zqdD8AzRf>>dP<7Ht)6^=Ibth^5QQYSO0s>My%xBot<CQuTPsMHu<Cr$4txO zWyc?{T(@rD>vg+7MQ}4XEYvvnagO&iorjhGHt#>GAw9Y6R>ZR#D<-rr+Tw8ACQo{z z@w$&yZzS#CrcL<z^Q7OTCH8+``rqD`TfF=3<>mhII|?3Fzu#+K_~?l5Y_rlbkYgtc zd^)AQUMFe`ha)#ba+qM<I@OjRHFopQm%r9me8qj_j$ZsR-=#awi*Gz?wBCfNOUfuP zf87Mt&I?~IY@Ge|r{t4cTeDv=9=?0`?n*=7>}zX&p7gJ4lHAR}z@~j}O{nnBiXQQw z5gI;~d*rm`J5^L>_8(_a6XCtl8eyWzr6g^%dvDxwk>tlsI!BT{qYb3WL_Y*XXdYx+ zJn5`gMc?F<@~n%``Fa;}Di%%pYWOjtX?e`UiYwl#5%bkkdb@O#Rh8|w$MbcriTwNL z#><8Bn^&)X{c`zyyP_u^S~2tMe!WaE_;EtH|H;b<j0`>AhHI8BTlVnk{r%~gHz!+H ziMqbbtttHaF3vS@%4c5F)M;OHyB3-3wMe};+g;T4<^PPoui7q~zfUk)oA>7WnlFlb z{(ifC*m}|D-P6xiZ(JE47_{}=y%Lkl3r*LVMaJd43Ke<!XWrCln`X6r?kf6nwlX-( zT(fJD#$M}rI@Lwx`+xmB`R>ut?%dp5WvfMr-#Hi-%n<$mJZfu-iQa{C9X=cj_e`Ad zwOIbqj|dyho63St9EI(Xn?u`~+TD9L7H-ye5_IB7HM=ZwvLZui;Tbb+Uk=0FfAuz7 z9~8bnw<bg%49*_~jeO}QYiFlMDw$2cp1tqq^glnR8ZDd~xBl(5c&mS5YSx~UI#g=I z_V^gd&B`i}Sg6spY;%o04+Fz3&2xn(ngcfJ2uE%*{N{4uxEg5Ca<}Q98A?Kmn@px| z<X)pcWdety&~dj(Guyt4v7il$zLDgAdu=zT-8_@uwPj8jv!<~)s<d>RY;j1jH2w4A z+2`O5?mP?$8Oe&-n!9gnw%pk_BjekqHO4RJ+s|9JR_@-*je<^Z^xV2CYy|H;;d8$e zR1j$CI(z1dvu|~7oZmXdSSI=Hoa^sOejhIETy~U2y_!vS)?Mihg?9N0B3v#n0?wqX zw#>L&w_c>c>h8W7Ih$vCDovYWS6%nT&VZreQOF{Vu6w3ELg0dT@rrmc)`>IPXZU+g zV+oYYT6*lz!w+q|((jfiNAml!FMcP;;9w{j{X9EZWAjz3FJ4xsPc=>ddVzt#K|cAR zHK^xki*wQoi$vS}(~FiYad|IPwB|=22SY-Saly4)Z@*o68rXeos&=^F9E-&5w?S=E zhN6=PJ}WXaFi0?+yUxVGkiiY=iZ0LvO&K+8o3NFEf#KG#`a>te4>t%ooM&KQVDNPH Kb6Mw<&;$VDzVn&@ literal 0 HcmV?d00001 -- GitLab