From 277e418a1d746908becbc0e425148c888754935c Mon Sep 17 00:00:00 2001 From: wienkop <uwe.wienkop@th-nuernberg.de> Date: Wed, 3 Jun 2020 09:32:15 +0200 Subject: [PATCH] 2020-06-03 Mi --- .../DesignTimeBuild/.dtbcache.v2 | Bin 297903 -> 322969 bytes .vs/prog2-ss2020-wienkop/v16/.suo | Bin 293888 -> 289280 bytes .../{KeyValue.cs => KeyValuePaar.cs} | 6 +- 07KeyValueList/Program.cs | 49 ++- .../Debug/netcoreapp3.1/07KeyValueList.dll | Bin 9216 -> 9216 bytes .../Debug/netcoreapp3.1/07KeyValueList.pdb | Bin 2944 -> 2272 bytes 07KeyValueList/liste.cs | 349 +++++++++--------- ...eyValueList.csproj.CoreCompileInputs.cache | 2 +- ...07KeyValueList.csproj.FileListAbsolute.txt | 1 + ...KeyValueList.csprojAssemblyReference.cache | Bin 0 -> 424 bytes .../Debug/netcoreapp3.1/07KeyValueList.dll | Bin 9216 -> 9216 bytes .../Debug/netcoreapp3.1/07KeyValueList.pdb | Bin 2944 -> 2272 bytes 12 files changed, 231 insertions(+), 176 deletions(-) rename 07KeyValueList/{KeyValue.cs => KeyValuePaar.cs} (62%) create mode 100644 07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache diff --git a/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 b/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 index 8ad07f29394208c453c540eade091fee4d6735ff..55c85a233a14d3c44a0bf34c0a2b294acae35924 100644 GIT binary patch delta 9294 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 delta 7394 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 diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo index df5df75cd96006f796e6c7159b3605cffc2352c3..ff9ce1fceb793457e6b22408fda581121b22be1c 100644 GIT binary patch delta 8647 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 K)AWWMmIeSC=gi0e delta 7701 zcmZp;BG~XlaDt7Z9s>gd3j+hgzyJULGcYhPFfuSO=rb@dC^IlHNHZ`nh)qr`w%=Hg z!Z?X3hi?Ig<I?>W*BFf$7#JLiCRZ_4F`k(Gm8qHW^5jb9Y9<z@$={ge>LnN$82<nN z|6iPefq@&!R%Bpc;9+23;9_842!)CXGcYh{F)%QQLiu3~3=BGq5a;~;|Np-f0|Ns) z0|SEw0|SFD0|Ns{OoV}fA(DZC;Wr}#gE1q-9u=s5kh~-VLp|6pstgPaKN%Sq_!$@& zte6-WIG~C^4wGeIU=V~F2;#djFfb%CFfi~kFfa&14YdS07Ru&eWMHsnU|_IEG6ST~ z35oB_z`)?bz`)?j5XZpa&cMK6!oa}b!N9=ajiktjfq}u7fq}uFfq_AWfq@}_fq@~A zfq@|$Ne#$gH3kL-V+IC>7^t`alm^L7E?_m7oKY;oTfo4;kk7!tP{_c*U^e+6>uSCY z8!P97q9>h!f#E>W<SMo*##5l^VG81$T*d4;`7pboC=U|@!xT`6AsNXznUO_!@)=hS zU0bNA5|jp62#P{bRDswa%*MdL0E()N$s1jT>w}S0f+7c`f{BTNA)Aqb!3!#<0Hr~4 zARNTNz)%1UTQep|B!Ut}2%0(}1_lOD+<^3GGcYh1GC~poh_A-Tz+l6`paf27AOR4z zV_;ygU|?W~fEol!5q~Ep3a5Y~1Ec_iLCGf?ssO|XVNhg%Xcz|N22jf3V_;x_MFvRD z6O=?57#Iu~7#Jjx%m7(5xrS3kF_VFTL4}clA)A4LA%}s1p$OzvB!wB94{`=G@*ZPk zU^vbQ$#wrGCf=XKQ^Hs`xs<1#v3BxTo_fZb$)&vAlahEiKn?-n#UfmclSPsRSV5eB z6BDmb;wxcvnOw^EpYhb>QvU8q0WO<e<O~=Y>nE4WcTW;3VQc{#S3miyP(8?K-tNf_ zdJ3Br^d2xSl3<#o^o8-{=C4ZJjFUtZCMy_SVXWT#)kv3d@)Bp6&2|B1jEt?DOXa(n zHW~b2WRhjw{7aILc`}DT4-3fp$r7?I5JrM*k4O#78~^|R2g!o)<OVsV%}N^2SOlD* zvaV2ivV`n~$qC#dj4hzlGg&~TK~$9q5)SH23=A4f3=En~3=9^N3#)`D7H9}sf&>^C z7_6BX7;HcaHzx8kZZa!jVhdwrU~podTxC(k8pX)Kuw?U33wFj$CIU>81#C=MKoK?l zR4$Xw<`SC*MoudR28IWF85kHQCl*U@mT=j?X!#AA0720T!rvJg7=A!q`HPW(L5_ie z;SVUmF)}cyK@%xR-K@z6wd^-LSRG(o<i@nfj%AYG;mL=$*e+^h+%!djX|jUS6>!Lk zGfw95<B<S`21pktBLjmus61q3VBle7V3=$mBf=)c$iQI8FxksbPEwkYfkB3mfk6Sy zReqBbi}h{vkwlG<*z%xqhLM56l#zkK3}gc%1A{s!w2;(He&bib69M%Y$SIRE{B=0f zp(@%Y7bdGuEU=jrpfp)&jv5Onvrj*l%cQZnWKIv`BoU>_i!_utKm|$`0|NtCW^##> z|K!7LhLgWI1#qN6a~xQPbrT~4!@0>9)%7PoP?wp$ErG>ml7_-&1rcRNu!a)R5Ef7d zfhgX>$iQ%7^Upwbrb*LIuz<>Bu=wULVLXhJ@)QJa38|R$?r$oSm-)4J)ef)f%?5cF z7$=ofFd9y-Eb(FmR~?Wj{!+rjILYV>W9{azM%;{`G|M5&3aZQ)7#8I)Eh=DHB*wHT zg=vxl%Vd^{6FmN@W|@U^E8665t2j+QQz5bW!v!P8$x0b&EJ-jwZZ65_Vde!z9w-?w zGcho5fl}mTg(@B%Lna0WUM2<xJ|+f+$re>Uj9MV6i3I|t+Dr@#I!p`<x=aiVdQ1!q z`k(|0%@#&X3=GCh3=Aer3=F2wL~YK*z+eE<ys<!laZwG^q!0%lki$VG4<`c`!{iHT zCYu{VniwZD)fF*@O)jm2=Jrk3c$hZtIpD%PdBMT3>HCtIL?&k)a|34!P)vieMMoXu zipf7MPH{4TN@Y-O1`gfHUpfQOG6y#(X2F?*fnoFdV~k9b`cimgq3HvhU<&#aOjSY2 zi-Cbbosoe-gOPzjlaYZzi;;mrn~{M*7pho~k%7Sg$~I(RV6dEAm@Lm~#mK-A2}x!l zoY7F}WRR3u3L^tU8dSs&T1sXzGB9K@GBAMBb`B#0LoOo&LmndoLq0TZGcrv+)Ni*a ziD~nO69Md#7p&Yc{a`G!$aL=-X2IzS)=Zk*7COe}HExMH#i^B(FQ%DHpODJTGkKM_ z*kt{58Ez9p9SewLElg5!vU0ixtD&Wiq2XkoG=s?v=?&ABHZ!_Rzw@8*(6pJ1V%rm@ zF+O2h<i@nfhiSXZL&iPKn{z%*VVthO%d~+dFFU_ry2BnOk?9NCnYpLWQDV~IHZj++ zgjmut`C^*Z;)XKD>2D*MwLlh4zErNadBcwY#>ok1rcAe4$#`V4z!|B@dD}&{>#bqb zVx~r(Q<|(4whTQ>;mSFiqFfj`KrN7DSn8i#5*@;l0psy}U|?Xl0Le}alP-C%fNEE8 zV%l7CiG`8z%;d_;?aMd#FfxHM+ZLup1x%CXc%YRe(+{~ZJ_3hjz!ydi=0(exwr`MN zG-2AzGwBTDq9aVxH%K$qOct0Yv$<f_1jgwfJ~9hz7I^l7b<?UFjFT$PV9B!;0*srk z@UWm}gUwmT+?W>KVVa(x&senm!Vbnh=0%T~rYmqWrEIp@Fo$vRh7)X)o7ReK7vN>; zW1RjVlQC|(5f@{?qVtTC7py!t-C;AM8a&#kgQ9)9!7s)Q(;uiYa%`Tk&4Y3K1}(+_ z=E)7`y{6xr#h5l(Xl2^u2`dCP`|apr+`hqxF@PDIDkeW#xoP_aH%33^>7Q&E&rNTb z$jC8S;k3qdfh@**U>-)yUt*qo;hx-fxlN2#jFTVj>6$)4lF@1VnHWYJ#_6Zr7;ixW z?-C;i<K&`AI@@(*7_Tr-KjguvGd*q{<DTsf*BB2lP8YbwXf(Y+lF4Iw!&k;lAScRA z_qxmI1P<oukA5&}Y}Y7YyurH6fRSmk(xeHSGiJ?zh4#D?jFUgDXxpr?PKIgwA`8Yi z#_0+_8P82WV9RJQUG5j-AxJ1Jc$vTiik0OG8H_BGg;qg>d3uo=<CM*QJ93yOKhkpB zEVp47<8&i^#s%9KcrYd~BEoz-D9o9lQcD;Un3shxvMhg~%E*KqmaNkc{bT$BvQTXL z0XIegaGXH63DX!)fLYrwBrqB<BL$TdqY2~mLtIRUwjWAkw1Wmy3gb1#=~v7crMAmt zFg{^lc7%}wEgY6LFfu_sUd6bqiIHV`f-2)YcqB<o`^_k`{ni9VHTLO`xR@4gU(~@E z$G*&sk!f<s6NBvr4;U|SBIn>s$o^ioj*$r#t&d<5P+v1mHhL1UJ>U}K2FB@!elU7$ z*HB^H!8qCJiPLn08H{|}1FnH&aKz}g>4(%9)iy79d5dxSqckR~?N+ZCk1-MzYC9MW zByo9>aq^>CYqqcXz!<_fJ!uW&r0EkF8HF|roQq*x_JfgWx)UE`*>t&0j9S|lOkqr5 zo_@)eQEt23FUCiV(}k`v+HJRcz<3BPFqZveWI_uCr(cZArcV%M;sa%{6Vo63V&s@! zAkL&V-A0vBW^&ycD@ee6VcfusD?x9YYQ)qu{Xin)1*mpOCbjJioJ<W&NTIQehlvH^ z9~Pz%=4HPanYIZrJz$^yz>`S<<gDq2-b^vuW4xG_FizJGU~1XiqE^E=t%8wly4Npe zmFYQgEDGDb{Ft_}Z<Atb=a~LKi&-38yz`it=olM9%J(L4B@$4|EC-P?GSxAL7X6_5 zMS}-a4}$7*PzQLrcNDYY_O;4P!7NLdn5JnkIZWS}%pyFwKTUUgg9g)4Mgao@gW4Js zBOOzS=^!Jtw>Ok9H8A4z@MI+>vFQy`Ogz)G<d}rGbs5STG8s}C@))wG*XuE9PS4O| zl9>KUlSyRy6+I@M?FaOj9GJJAVlri%-f7MxGu_mjDP*z=lK^iiLkUABLq0<ugTg}g z>4(gj9JVvrF#Ttp&S=H-fBL&fW~u3ul$eZ|40NXZD>E5R->{pBXSzTPv&iJO6O z`_tID&2>zSAr5btd@)ULn+VebR)x&eay|c|%+$P+#FEVXJT_3TUM#pEC$l6BBo#nP zEHJTbXL4ft$GA+6iDlU}CZ=ghOzl*S7p84Dm^QO8GEVQ$Vp3t$nr<M&C^31#WTEX3 zvY2cc85yVl&1O=VE}z3B&B!=iE{92mQE7UBIg1iABLjpnJu!z#e%XB{#_0_?Ojc}+ z3>pRu=F1)Om>4I&j#FinnI0#~A~XGF4wF3VUC?OD^uM`G&eJbgvKUM+$Y=6^DF`ZH z3e_!RNMy)iC}l`x$YIE2C}t>Oh+)WPNM)#GK*;DZBr_C)MpULBC}3*X-cZQYz_d+` z$$<$aWi>EvD`Q$@I{m^1rh@5p?M!Ub7p(@dRx)u+U$us*W%|1nOdQjt)-ZKUUoe%4 zW4hT|ro8EO)l6*Dt=2KMO+VMq#5R4^TBfe)2i7sYW3-=sa2-?N^a&f7tRPay)-m}^ z+rVTu-C-k>&GbjrOnTEz)-r`n(_(VPlcKqolrS)W1{Ty9j!%Cl!aQ}l-WDc~=}iXA z+S6~JW#XLvO@w*>^h=wVQYR~toWvO?C&s8uFEC)Xovyo^iF13N7V{+5ZF`tlIJTW& zGG!)|_U)!CZe<dke&8q*=k!zQ%*Uty0~zw^2$K-wGAkxVva-YUid^QD>3TxU8rvs0 zF_$oIyTY`YgFZ<uhLM4R5k0BRn!Yoisg)lsMNRiEV2YVO={>U^<BrLVLG{yxbXXLo zE4*WtVcE*Sz_8rm9Wx`3CbX>%>K#l!*v@RkWMBkJfML@&aj|GEd%~nO{o(~C=k4xi znD#O*o5#d7-R>+?%=QE~<|WMA7BDU1CM_kJt!L5!r6{lIM(ddRAZZSk9LuKLZD8tw zh@qrI#^ULL+n8*o@7~QMIK4WO*^GMyk?HLiQj(drhlyqS+x^UEw_o&PmSJJUNU2-> znf<2MwlQDaesvF%KI`-YhRjvlYYmu%7{x&2pA2BYaRAhY26ahYzy`!kSKQ8Ix!u-| zd4m9kk=wWWGcz(yFR5TQo&MT@S&UI@I-?<TA0Fe7at<%IcWPx=VoqtQUUISD^gt74 zCmtjbt?2<K%+Bmkk?9IC%z^A$2S8(?jN2=XnYS`dzrUWDhZQsmAT!-Ql=&rNFvtwk z>2Ws9vW!~O7v?aVZr>2b9Kb$(K?JkFbi>U|=7?;|3AcQ@uL-jo2h^HWFb~~Q&|s_4 z^h#sq>x@1iJA9zjbf0o&XC!BAw-04L$gwSjSww7lpfR)fcJ&nISB%p)ZDLZGZg7*C zd%MFt<}0kr1=5)LmWwnoGi?``!TdpT+74!c>58e$x|3IVbAgTA-nWdojdl7YXXZ6v zebc3PGh0uO+Q}@tU4Ad~N2ckF)yz8E9X2r^;M{hAS%hP`zyW5a>1&FamB5aftk1-; z-RlJNDaPdjhnShR*Bxfw!Lt3#3uX`I?E*)bKX6XZI?gOGIWS9qI)62@$n^D5%v{?O zuQ6|C+%E8f`2*|p1x?HX(;eHG6}OxIV{T@dZl=%TF#X9p<`^8g={<7;@p*58IZNE+ z2SEzk_q}IsVqD(vk(p`w2V<6q>H9t~XG}M$W7OH6^M!c|<Ma=1EP2!QWLQL|GksyU zn<m5J!U~Fr)ai^@m`%C-3nI>gM(7zBrgwa2wwQk47qf;$ioTJ7fiXB8Cpufjgche3 z6~~lkrcQVG&g?K<a1FC6$VV+K;%qi~r8zmEF<6jdT>~fpn=*Z(FtdcjdpGYrH!9j= zuZ2xebYGxkTO1#fQIwjPGJS#)lL-$}+o^i;#WXB!Cq};M>y(*-CQq6zG<}vZ%d+Wu z-<XxAOMPHo2J!NN56lOUd^_zA^Q!5W^jNYcugbP!hfF}sn_k$!SUg?sH}kCNeS9oJ z)BCNMgr=WUXA+w}hl^#$^eL7sS<~O}vRF*tz{7HBdWt(s*7N{XCO1aG>4DrVtEa2* zv8-d90x~3fdYluB#B?qJ7BPr28-5lquyxzJ1X%tsF|Goun*1h~Z+gRL<^$6W+*$NM zVK0Uh<ShOLj11G8zBAi_CSe#RAMnr@MG0kigc$NOD@=dT&MeGoU=)^Gv@C&z5fZY2 zCd?As9b{Ru7{QhguwO-{XPC3_Oy=>BoBlzBg^h97<cYI|L6NnFan|&QHY}~%YqVKf zSf-h<yqLbolw}U%mdO)mXHI_QC^kLAl*MW~%OB>f=^I2?lqU1!i7+!T7*0R0$C5jF zRhAVq0|WQ;UMH5)=}G1+LbSA@a(Y%elh||_XBIV9(D>gDupgv8FfU<dU{Kor-vZP^ z+?2;;&jubPMwj+sF=qt%Eo*uLsIix3%OVDjndu8`SRAHbvSZ1b{3_07yOJHt9OmgC z_*tZ;*NC!+34&(bW-vH2STV#fgfbK}q)ty1Ws#mPWy2yv&@`#(NscTNwoeFQxx%zP zC7Q*6dHW@MmK;WKDrxx6+%PSLMFX6Awp%B%9A#SGkix<={bClg-gLbbmY_+g4$~dd zSq^NoW7&t~Bu4$|fsQN-k&T_qRbe*yfw}?_SZsQs2(#*BRZp+UT1<ih=y@MHOiYYP z3fuoDurxv)-H^=EFe%kxyF)sQ1Cke}e|W|$J3T*%g?0L(G?uvO0#}&@r%%je$%n9h zTxAxT?st(%YO-yN^W=uuhD}}v7$-BPOH8-j#w0yCBZzmBhnC>984o*`KAW{^!q#6o z-F%bZGfZB{Dm>ZG!)Wq>m;=)ll9^;C-|<$N?!eD1G&wq0b^7k_%oda1dkAjJU}<2S h-guFTNEaN2xnNSP1AcoQVjXbXJCUM5MUO&81^{wP!IA&~ diff --git a/07KeyValueList/KeyValue.cs b/07KeyValueList/KeyValuePaar.cs similarity index 62% rename from 07KeyValueList/KeyValue.cs rename to 07KeyValueList/KeyValuePaar.cs index 0df6f1f..2c25c6e 100644 --- a/07KeyValueList/KeyValue.cs +++ b/07KeyValueList/KeyValuePaar.cs @@ -5,13 +5,13 @@ using System.Text; namespace _07KeyValueList { - class KeyValue<K, V> : IComparable<KeyValue<K, V>> + class KeyValuePaar<K, V> : IComparable<KeyValuePaar<K, V>> where K : IComparable<K> { public K key; public V val; - public KeyValue(K key, V val) { this.key = key; this.val = val; } - public int CompareTo(KeyValue<K, V> other) + public KeyValuePaar(K key, V val) { this.key = key; this.val = val; } + public int CompareTo(KeyValuePaar<K, V> other) => key.CompareTo(other.key); public override string ToString() => $"{key}: {val}"; } diff --git a/07KeyValueList/Program.cs b/07KeyValueList/Program.cs index 285bcbb..f57e8f1 100644 --- a/07KeyValueList/Program.cs +++ b/07KeyValueList/Program.cs @@ -1,15 +1,58 @@ using System; +using System.Collections.Generic; namespace _07KeyValueList { + class Termin + { + public string was; + public string wer; + public Termin(string was, string wer) { this.was = was;this.wer = wer; } + public override string ToString() => $"Termin: {was} mit {wer}"; + } class Program { static void Main(string[] args) { - Liste<KeyValue<string, int>> kvListe = new Liste<KeyValue<string, int>>(); - kvListe.AddSorted(new KeyValue<string, int>("Wienkop", 1614)); - kvListe.AddSorted(new KeyValue<string, int>("Otsa", 1855)); + KeyValueListe<string, int> kvListe = new KeyValueListe<string, int>(); + kvListe["Wienkop"] = 1614; + kvListe["Otsa"] = 1855; + kvListe.Print(); + Console.WriteLine("-----------"); + kvListe["Otsa"] = 9999; + kvListe.Print(); + Console.WriteLine("-----------"); + + KeyValueListe<string, Termin> termine = new KeyValueListe<string, Termin>(); + termine["Wienkop"] = new Termin("IT-Proj", "Digitale Visitenkarte"); + termine.Print(); + //foreach (var item in termine) + //{ + // Console.WriteLine(item.val); + //} + + List<Termin> termineMi = new List<Termin>(); + termineMi.Add(new Termin("08:00 Prog2-Vorlesung", "Gruppe-Wienkop")); + termineMi.Add(new Termin ("09:45 Dig Bildbearbeitung","MA-MIN")); + + List<Termin> termineDi = new List<Termin>(); + termineDi.Add(new Termin("08:00 Prog2-Übung", "Gruppe-Wienkop")); + termineDi.Add(new Termin("09:45 Prog2-Vorlesung", "Gruppe-Wienkop")); + termineDi.Add(new Termin("11:30 Mitarbeiterbesprechung","Jobbörse")); + + KeyValueListe<string, List<Termin>> terminverwaltung = new KeyValueListe<string, List<Termin>>(); + terminverwaltung["03.06.2020"] = termineMi; + terminverwaltung["02.06.2020"] = termineDi; + + foreach (var tag in terminverwaltung) + { + Console.WriteLine($"\nTermine am {tag.key}:"); + foreach (var item in tag.val) + { + Console.WriteLine(item); + } + } } } } diff --git a/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.dll b/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.dll index a1631d8cc967e04440a84e435ae705748e429e0a..b74c9e26aafb644daacbe3ef2443017974f4c7a7 100644 GIT binary patch delta 4583 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 Avj6}9 delta 4549 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 diff --git a/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.pdb b/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.pdb index 943bfa105a6de814d4be786000cca2dd28d3fcf8..e7deb1bcbcf9d68261b1a844950cdc3947ab5a3e 100644 GIT binary patch delta 1601 zcmZn=e;_!)B({f%fkC;BfuVw#fx(A?fk8RAq$o2ly_kW4f#C=<0|N_4EHs$m1TzDJ z1BmS&>gmG3z`()6z;J_wfkD|RCqIdSf#LQ;j_OO-c)Zt4TJ0<G&c$+a?Z*SW6DJDG zvNJF+@G&qjh%qoQ@H0RRv}a&o5Mp3pV4HYQSWtk0fq@Y!!2~jS;#1{%kZKVI1_mAm z1_oBB0!{`7hE)uV4BHr(7&sXj8AKVG7&4d`8A_O#7y?)r8Io9-7#6WGGHhXCVqj#r z&cMj<iGh*fCj%3M86y)zF~|-ECWbYPObnkHnHc1lm>Ardm>H%rF*9snVrJM5vYUa4 zVJ<Th!(LuykpDrLiQx$I<PD5=^~?;6U}rKggn`|}%mA_lq(m8s53)oN<TD0l29OSr zJjnO#NPIg61_l@(q~09lX$EEn7O43~3=9mM49pCyP`(NS0|Qq*12Y2~R6v%2fq|QW z70wq22NZ%Y!@$76izL665yIzYU}Vr|WMD{z%JVQVGNdswFbIRAhM9pEYQ7u;1A_nq zf)Dagy)cqMFUVUA3=E)nWMHrY^Ds$Jd_lsDiNSz@fq|Jp4IIs);P4Ry`x>H)k-?t< z6#R?~5lo;2C(OXc(7?dVkjuD$ftg_m;{gWddWMyZ4;YvkUNJH-GBb!XDKIiKI590? zWM*h$PGDkYU|~sMVqy3Vino%~qTI~9REF#_pUmQtRECnobOwl6S!z*vVophE9!wzB zB@-%@>YK@sS(2K|ke6DTTI`yWnwy$e0`?gH1<j5ff|K{LT=C@hPOS_}%qdL`NK7o! zOD^V)iHJ_jEGTQ}ZkVO8aKnv#Dh_!S1;>AUbnX)`{c~@om6zn(x$0MnBi2+!I!G}v zFevhJvNJF;xJ<szD(lRV19BdUF^voglI06?Zq%+(dJ=Q`*feH^4G(-=U*`Asy*^u{ zA70CA@YIZvfq_wqlaWD(iGyRZ9h)9!4TAv_0|R5jzR6kaM)kJLAogueMg}1!A$A5( zDrG8XWKd+{5CcU44-*Fq10z!*BLiQhA3FmNLn<p+n9Cm|T*<*G%akt0$Rwc50y5?q zFC&8z69)%_AQLDXGBXG;ad0v?F;$8&FfvuLG0HG`h%qXIZGQ_<YJ^ZL2vRG|!oUf# zj|HR_l+}gAIN2Gv88p}#c$gwt7#SHkCV%7<t#67|2oW#eXV-u89^0ZlK}w0~K@Trz zZLt15vwXweOPWC`tY<(0sLBNnKp#d1eg+nH27U%PP<Se^F)%PlaqBglWMyDr6yRiJ zaAV?NV~}EE5M&Ss5dtg>><o%b4BSvI6O8M_!obGh!o*N7%^(00)Zt-ZV{m0+5Myuz z5jr4gFbgaOCK5qrX)`hKF@OnnP_`9d(BK3GH9JE#$hY~740=o)G7RjXB7&Vkiw`8n z!H@}+lK_P%BU2?K15>pMH>g--tmg=2WMC>*;szIaj0}td;Zls+jE$2Ro6aycuVQTZ z#MZizv2`O`n>k~fxjX{{gR~$oJA(|!&5R6I(BKeYPyhvo5-2$Mg^kQWv^)c2!%;|T z5Cl1c5tJG%m^idRg%H>g0@Z$kLZFnu#lXPDz{ugwp}@evkUe=7S0qOZXA5tOaEsz( QZf-9ar+IQLw=yFG0MM`J5dZ)H literal 2944 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 diff --git a/07KeyValueList/liste.cs b/07KeyValueList/liste.cs index 05ef612..2288bfe 100644 --- a/07KeyValueList/liste.cs +++ b/07KeyValueList/liste.cs @@ -1,28 +1,30 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Text; namespace _07KeyValueList { - class Liste<T> : IComparable<Liste<T>> where T : IComparable<T> + class KeyValueListe<K,V> /*: IComparable<KeyValueListe<K,V>>*/ where K : IComparable<K> { // Die Klasse Element ist nun eine *private* Klasse der Klasse StringListe // Die Methoden von StringListe dürfen auf private Member zugreifen // Methoden außerhalb von StringListe dürfen dies nicht! private class Element // Element ist eine private Hilfsklasse der Klasse StringListe { - public T daten; + public K key; + public V val; public Element next = null; - public Element(T daten) { this.daten = daten; } - public override string ToString() => daten.ToString(); + public Element(K key, V val) { this.key = key; this.val = val ; } + public override string ToString() => $"{key}: {val}"; } Element anf = null, ende = null; int anz = 0; // Sehr sinnvoll für Index-Ops //public StringListe() { } - public void AddEnd(T daten) + public void AddEnd(K key, V val) { - Element neuesElement = new Element(daten); // 1. Neues Element anlegen + Element neuesElement = new Element(key,val); // 1. Neues Element anlegen anz++; if (anf == null) // 2. Leere Liste? anf = ende = neuesElement; @@ -32,71 +34,158 @@ namespace _07KeyValueList ende = ende.next; } } - public void AddFront(T daten) - { - // 1. Leere Liste - // 2. Es existiert mind. ein Element - Element neuesElement = new Element(daten); // Neues Element anlegen - anz++; - if (anf == null) // 1.Fall: Leere Liste? - anf = ende = neuesElement; - else - { - neuesElement.next = anf; // 2. Fall - anf = neuesElement; - } - } - //public void AddBeforeNth(int index, string name) + #region Weitere Methoden + //public void AddFront(T daten) + //{ + // // 1. Leere Liste + // // 2. Es existiert mind. ein Element + // Element neuesElement = new Element(daten); // Neues Element anlegen + // anz++; + // if (anf == null) // 1.Fall: Leere Liste? + // anf = ende = neuesElement; + // else + // { + // neuesElement.next = anf; // 2. Fall + // anf = neuesElement; + // } + //} + ////public void AddBeforeNth(int index, string name) + ////{ + //// if (index < 0 || index > anz) + //// throw new ArgumentOutOfRangeException("Index außerhalb der Listengröße"); + //// if (index == 0) + //// AddFront(name); + //// else if (index == anz) + //// AddEnd(name); + //// else + //// { + //// Element neu = new Element(name); + //// anz++; + //// Element item = anf; + //// for (int i = 1; i < index; i++) + //// item = item.next; + //// neu.next = item.next; // Die Reihenfolge dieses und des nächsten Befehls ist ENTSCHEIDEND! + //// item.next = neu; + //// } + ////} + //public void AddSorted(T daten) + //{ + // // 1. Fall: Leere Liste oder Anfügen am Listenende + // if (anf == null || ende.key.CompareTo(daten) <= 0) + // AddEnd(daten); + // else + // { + // if (daten.CompareTo(anf.key) <= 0) + // AddFront(daten); + // else + // { + // // Wir wissen: Das neue Element ist nicht das erste und nicht das letzte Element + // Element neu = new Element(daten); + // anz++; + + // Element item = anf; + // while (item.next.key.CompareTo(daten) < 0) + // item = item.next; + // neu.next = item.next; + // item.next = neu; + // } + // } + //} + //public bool Suche(T daten) + //{ + // for (Element item = anf; item != null; item = item.next) + // { + // if (item.key.CompareTo(daten) == 0) + // return true; + // } + // return false; + //} + //public void DeleteFirst() + //{ + // // 1.Fall: Liste ist leer + // // 2.Fall: Liste besteht nur aus einem Element + // // 3.Fall: Liste hat mehr als ein Element + // if (anf == null) // 1. Fall + // return; + // anz--; + // if (anf == ende) // 2. Fall + // anf = ende = null; + // else + // anf = anf.next; // 3. Fall + //} + //public void DeleteLast() + //{ + // // 1.Fall: Liste ist leer + // // 2.Fall: Liste besteht nur aus einem Element + // // 3.Fall: Liste hat mehr als ein Element + // if (anf == null) // 1. Fall + // throw new NullReferenceException("Die Liste ist leer"); + // anz--; + // if (anf == ende) // 2. Fall + // anf = ende = null; + // else // 3. Fall + // { // Wir wissen: Die Liste hat mehr als ein Element, d.h. es gibt ein + // // vorletztes Element vorletzter.next == ende + // Element vorletzter = anf; + // while (vorletzter.next != ende) + // vorletzter = vorletzter.next; + // vorletzter.next = null; + // ende = vorletzter; + // } + //} + //public void DeleteNth(int index) + //{ + // // 1.Fall: Liste ist leer ODER Ind>=anz --> Fehler + // // 2.Fall: Ind == 0 --> DeleteFirst + // // 3.Fall: Ind == anz-1 --> DeleteLast + // // 4. Bis hierher: Liste hat mind. ein Element und das zu löschende Element + // // ist nicht das Erste oder Letzte + // if (anz == 0 || index >= anz) // 1. Fall + // throw new ArgumentOutOfRangeException("Außerhalb der Anzahl der Listenelemente"); + // if (index == 0) // 2. Fall + // DeleteFirst(); + // else if (index == anz - 1) // 3. Fall + // DeleteLast(); + // else + // { + // Element vorletzter = anf; + // for (int i = 0; i < index - 1; i++) // Liste bis zum n-1-ten Element durchlaufen + // vorletzter = vorletzter.next; + // vorletzter.next = vorletzter.next.next; + // anz--; + // } + //} + //public void DeleteByName(T other) //{ - // if (index < 0 || index > anz) - // throw new ArgumentOutOfRangeException("Index außerhalb der Listengröße"); - // if (index == 0) - // AddFront(name); - // else if (index == anz) - // AddEnd(name); + // // leere Liste ohne Elemente + // if (anf == null) + // return; + // // erstes Element = gesuchtes Element + // if (anf.key.CompareTo(other) == 0) + // DeleteFirst(); + // // Wir wissen jetzt: + // // Liste hat mind. ein Element UND das erste Element ist nicht das gesuchte Element // else // { - // Element neu = new Element(name); - // anz++; // Element item = anf; - // for (int i = 1; i < index; i++) + // // Durchlaufen der Liste + // // solange Elemente in Liste vorhanden und gesuchtes Element noch nicht gefunden + // while (item.next != null && item.next.key.CompareTo(other) != 0) // item = item.next; - // neu.next = item.next; // Die Reihenfolge dieses und des nächsten Befehls ist ENTSCHEIDEND! - // item.next = neu; + // // Wenn gesuchtes Element in Liste vorhanden + // // item = "B" + // if (item.next != null) // "C" + // { + // anz--; + // // Nächstes Element überspringen = löschen + // item.next = item.next.next; // item.next = null + // // Wenn gesuchtes Element == letztes Element: + // if (item.next == null) + // ende = item; + // } // } //} - public void AddSorted(T daten) - { - // 1. Fall: Leere Liste oder Anfügen am Listenende - if (anf == null || ende.daten.CompareTo(daten) <= 0) - AddEnd(daten); - else - { - if (daten.CompareTo(anf.daten) <= 0) - AddFront(daten); - else - { - // Wir wissen: Das neue Element ist nicht das erste und nicht das letzte Element - Element neu = new Element(daten); - anz++; - - Element item = anf; - while (item.next.daten.CompareTo(daten) < 0) - item = item.next; - neu.next = item.next; - item.next = neu; - } - } - } - public bool Suche(T daten) - { - for (Element item = anf; item != null; item = item.next) - { - if (item.daten.CompareTo(daten) == 0) - return true; - } - return false; - } + #endregion public void Print() { for (Element item = anf; item != null; item = item.next) @@ -104,16 +193,14 @@ namespace _07KeyValueList Console.WriteLine(item); } } - public IEnumerator<T> GetEnumerator() + public IEnumerator<KeyValuePaar<K,V>> GetEnumerator() { for (Element item = anf; item != null; item = item.next) { - yield return item.daten; // Merken dieser Ausführungsposition - // UND Zurückliefern von item.name - // Beim nächsten Aufruf von GetEnumerator() wird - // an der gespeicherten Pos. weitergemacht. + yield return new KeyValuePaar<K, V>(item.key, item.val); } } + //public IEnumerable<T> Filter(string pattern) //{ // for (Element item = anf; item != null; item = item.next) @@ -126,117 +213,41 @@ namespace _07KeyValueList // } //} - public void DeleteFirst() - { - // 1.Fall: Liste ist leer - // 2.Fall: Liste besteht nur aus einem Element - // 3.Fall: Liste hat mehr als ein Element - if (anf == null) // 1. Fall - return; - anz--; - if (anf == ende) // 2. Fall - anf = ende = null; - else - anf = anf.next; // 3. Fall - } - public void DeleteLast() - { - // 1.Fall: Liste ist leer - // 2.Fall: Liste besteht nur aus einem Element - // 3.Fall: Liste hat mehr als ein Element - if (anf == null) // 1. Fall - throw new NullReferenceException("Die Liste ist leer"); - anz--; - if (anf == ende) // 2. Fall - anf = ende = null; - else // 3. Fall - { // Wir wissen: Die Liste hat mehr als ein Element, d.h. es gibt ein - // vorletztes Element vorletzter.next == ende - Element vorletzter = anf; - while (vorletzter.next != ende) - vorletzter = vorletzter.next; - vorletzter.next = null; - ende = vorletzter; - } - } - public void DeleteNth(int index) + + + private Element ElementSearch(K key) { - // 1.Fall: Liste ist leer ODER Ind>=anz --> Fehler - // 2.Fall: Ind == 0 --> DeleteFirst - // 3.Fall: Ind == anz-1 --> DeleteLast - // 4. Bis hierher: Liste hat mind. ein Element und das zu löschende Element - // ist nicht das Erste oder Letzte - if (anz == 0 || index >= anz) // 1. Fall - throw new ArgumentOutOfRangeException("Außerhalb der Anzahl der Listenelemente"); - if (index == 0) // 2. Fall - DeleteFirst(); - else if (index == anz - 1) // 3. Fall - DeleteLast(); - else + for (Element item = anf; item != null; item=item.next) { - Element vorletzter = anf; - for (int i = 0; i < index - 1; i++) // Liste bis zum n-1-ten Element durchlaufen - vorletzter = vorletzter.next; - vorletzter.next = vorletzter.next.next; - anz--; + if (item.key.CompareTo(key) == 0) + return item; } + return null; } - public void DeleteByName(T other) + public V this[K key] { - // leere Liste ohne Elemente - if (anf == null) - return; - // erstes Element = gesuchtes Element - if (anf.daten.CompareTo(other) == 0) - DeleteFirst(); - // Wir wissen jetzt: - // Liste hat mind. ein Element UND das erste Element ist nicht das gesuchte Element - else + get { - Element item = anf; - // Durchlaufen der Liste - // solange Elemente in Liste vorhanden und gesuchtes Element noch nicht gefunden - while (item.next != null && item.next.daten.CompareTo(other) != 0) - item = item.next; - // Wenn gesuchtes Element in Liste vorhanden - // item = "B" - if (item.next != null) // "C" - { - anz--; - // Nächstes Element überspringen = löschen - item.next = item.next.next; // item.next = null - // Wenn gesuchtes Element == letztes Element: - if (item.next == null) - ende = item; - } + Element item = ElementSearch(key); + if (item != null) + return item.val; + throw new Exception($"Der Schlüssel {key} wurde nicht gefunden!"); } - } - private Element NthElem(int index) - { - if (index < 0 || index >= anz) - throw new IndexOutOfRangeException("Listenindex außerhalb des gültigen Bereichs"); - Element item = anf; - while (index > 0) + set { - item = item.next; - index--; + Element item = ElementSearch(key); + if (item != null) // Existiert der Schlüssel schon in der Liste? + item.val = value; // JA: Wert aktualisieren + else + AddEnd(key, value); // NEIN: Neues Schlüssel|Wert-Objekt der Liste hinzufügen } - return item; - } - public T this[int index] - { - get => NthElem(index).daten; - set { NthElem(index).daten = value; } - } - public Liste<T> Reverse() // DIES IST NICHT DIE LÖSUNG FÜR DIE PRAKTIKUMSAUFGABE!!! - { - Liste<T> neueListe = new Liste<T>(); - for (Element item = anf; item != null; item = item.next) - neueListe.AddFront(item.daten); - return neueListe; } - public int CompareTo(Liste<T> other) => anz - other.anz; + + //public int CompareTo(KeyValueListe<K, V> other) + //{ + // throw new NotImplementedException(); + //} } } diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache index c205e14..5b4c5ef 100644 --- a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache +++ b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -9b70b59186c0c0f8a2b5bc4d55137c362b4a3bbd +f8b0ec365030a8006743282e0105ee637814682b diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt index 955bd30..22f16af 100644 --- a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt +++ b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt @@ -10,3 +10,4 @@ C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netc C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.dll C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.pdb C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.genruntimeconfig.cache +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.csprojAssemblyReference.cache diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..74fe67b1ca671095970d4a7fbcae2417231e8f41 GIT binary patch literal 424 zcmZQzWME+U|NsAg5Y52Az`(=Az`zjao0(jcU!0#-qUThanUkUyl31Kwtmm9xl&Yf; zmReMtnV)BCXsTzZXP{@Gqu^YcQ&L)#YMYl@T2hplqoWW|nv|27?44Q}lAoQLXPabT zoMxJ4o@Qv6Vrr0RoX85YOcA>s!Ii}&sky-=i6yBZRh(&=IjLYCvkXK^&pAIQCpEbw zGe56b&m*xoqa-mYCl%ysPG$xM1{M&3S1B6<0|S>&eqxGSVsc4-5j)gB+}^2`&iT0o ziAAYJ93XRpGpkZryi+TS*}@WYN>hs&7?>GYS-CmHpziQ5O3BPi%z^896KG*?!pOkD z$-=<EupY!<Wnf_71X;%d62hSm<V)`O%=EncqEzR^;#3AkMgfpUP-F;zG=mu20NjFh Ae*gdg literal 0 HcmV?d00001 diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.dll b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.dll index a1631d8cc967e04440a84e435ae705748e429e0a..b74c9e26aafb644daacbe3ef2443017974f4c7a7 100644 GIT binary patch delta 4583 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 Avj6}9 delta 4549 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 diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.pdb b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.pdb index 943bfa105a6de814d4be786000cca2dd28d3fcf8..e7deb1bcbcf9d68261b1a844950cdc3947ab5a3e 100644 GIT binary patch delta 1601 zcmZn=e;_!)B({f%fkC;BfuVw#fx(A?fk8RAq$o2ly_kW4f#C=<0|N_4EHs$m1TzDJ z1BmS&>gmG3z`()6z;J_wfkD|RCqIdSf#LQ;j_OO-c)Zt4TJ0<G&c$+a?Z*SW6DJDG zvNJF+@G&qjh%qoQ@H0RRv}a&o5Mp3pV4HYQSWtk0fq@Y!!2~jS;#1{%kZKVI1_mAm z1_oBB0!{`7hE)uV4BHr(7&sXj8AKVG7&4d`8A_O#7y?)r8Io9-7#6WGGHhXCVqj#r z&cMj<iGh*fCj%3M86y)zF~|-ECWbYPObnkHnHc1lm>Ardm>H%rF*9snVrJM5vYUa4 zVJ<Th!(LuykpDrLiQx$I<PD5=^~?;6U}rKggn`|}%mA_lq(m8s53)oN<TD0l29OSr zJjnO#NPIg61_l@(q~09lX$EEn7O43~3=9mM49pCyP`(NS0|Qq*12Y2~R6v%2fq|QW z70wq22NZ%Y!@$76izL665yIzYU}Vr|WMD{z%JVQVGNdswFbIRAhM9pEYQ7u;1A_nq zf)Dagy)cqMFUVUA3=E)nWMHrY^Ds$Jd_lsDiNSz@fq|Jp4IIs);P4Ry`x>H)k-?t< z6#R?~5lo;2C(OXc(7?dVkjuD$ftg_m;{gWddWMyZ4;YvkUNJH-GBb!XDKIiKI590? zWM*h$PGDkYU|~sMVqy3Vino%~qTI~9REF#_pUmQtRECnobOwl6S!z*vVophE9!wzB zB@-%@>YK@sS(2K|ke6DTTI`yWnwy$e0`?gH1<j5ff|K{LT=C@hPOS_}%qdL`NK7o! zOD^V)iHJ_jEGTQ}ZkVO8aKnv#Dh_!S1;>AUbnX)`{c~@om6zn(x$0MnBi2+!I!G}v zFevhJvNJF;xJ<szD(lRV19BdUF^voglI06?Zq%+(dJ=Q`*feH^4G(-=U*`Asy*^u{ zA70CA@YIZvfq_wqlaWD(iGyRZ9h)9!4TAv_0|R5jzR6kaM)kJLAogueMg}1!A$A5( zDrG8XWKd+{5CcU44-*Fq10z!*BLiQhA3FmNLn<p+n9Cm|T*<*G%akt0$Rwc50y5?q zFC&8z69)%_AQLDXGBXG;ad0v?F;$8&FfvuLG0HG`h%qXIZGQ_<YJ^ZL2vRG|!oUf# zj|HR_l+}gAIN2Gv88p}#c$gwt7#SHkCV%7<t#67|2oW#eXV-u89^0ZlK}w0~K@Trz zZLt15vwXweOPWC`tY<(0sLBNnKp#d1eg+nH27U%PP<Se^F)%PlaqBglWMyDr6yRiJ zaAV?NV~}EE5M&Ss5dtg>><o%b4BSvI6O8M_!obGh!o*N7%^(00)Zt-ZV{m0+5Myuz z5jr4gFbgaOCK5qrX)`hKF@OnnP_`9d(BK3GH9JE#$hY~740=o)G7RjXB7&Vkiw`8n z!H@}+lK_P%BU2?K15>pMH>g--tmg=2WMC>*;szIaj0}td;Zls+jE$2Ro6aycuVQTZ z#MZizv2`O`n>k~fxjX{{gR~$oJA(|!&5R6I(BKeYPyhvo5-2$Mg^kQWv^)c2!%;|T z5Cl1c5tJG%m^idRg%H>g0@Z$kLZFnu#lXPDz{ugwp}@evkUe=7S0qOZXA5tOaEsz( QZf-9ar+IQLw=yFG0MM`J5dZ)H literal 2944 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 -- GitLab