>?)p zB;U~$r>6WrhdBn&sRKoy7hR8|5vwn-cUT3v6-Cj58JD5crmATID2`? z*2bCD<;8*B`bRvIUweA8W#GGxzd0G(#`(5BG3oh#7Ht0c=n-A#4nO`;{=R8n#hNNk z?`(MHn@c)Zc0Gg*o%3D3=i$Fj@}1fG*qT^ZLPz4n7x(P-=l){hwmpXAOGb_Cg5!K6 z)YGIl84Hhm{_2X3J!$uUJ!Ad4W66(CJ8`b#>M;*)8k4(k=gBlUlbr8#as9R*eH1uf z>`I)O@qA;&Z<8PY)vnE-O 2M z>dJ-QhAQ7pO{O2 w?%5(#>h+w2bU@Gt$Z+G`v!nlC;|IFG;ap!VF$a ziRhzhha{0c>25(?Z %UT5IML>TP9twYMn%X@PKkr%Jap$^*rYg59Bi_pY(o*?1nKw@fz*_7&8 z)@ZsGiMP>2d5dYXX$c2_6Cg58B9nvCYfay|qA4{4EkbB|Zno(fE*elKhce9O9>^j? z78&~fEoPW=dc?~urf2j(a*OFozb- *O24o@(b F|o9)1Zu zM>4VmnKH0+Q1r~m$g*V0z!rg`=R-y&$&`Vu14Yk*jNFqX%E0aiM$dhW>>-&lu%n>p z8IO^5$drM_goXKSU5k&>A&?xyR754vQ#NfF0sy`WKSk4`EJn;_vuK{wKy`?RVo%7A zaPEYcoJ`XmDcqLKbgYyF(?VAx4rJHMl#x}+l!2k^w|2E7TfSgn+c%lNJMa?1-yb~) zgndkxO$X>IEm?HybL}8zbaAxp _=qtrkgqi0qg#1wV~uFE-=iE9nVB2CN;l(Zu% zVKzp68M;cmG%-gI3&JLb>d?y4lb|?t-1(9?9>~YUMnBF7)shdVV_!oPpP_c}Q?y>V zaDgU61k ^&8uyI1hV%T#}qq3vv&Bc-gZByn!r{DgUJ zj`%X64zpwDwk6KHKsP9Bd2aZOvmB15HFTG2wI)mMRSMRe&j(72K?(gKWsR;$RVZyo zR1_jyljy9N9;QiDhi05sVx&@$#Yn5FW%a517R5 S5T7TwSb$ z;qg(uE5I?5KZvkmeh!AQGbWL7qqDM<@2@GQ!}9mjwZSYm$qJDa^3W9B`Qe&JV;+u` zMysmkt=ENW-Uj5$P`(i!&rbT#BL)MMAnQ>bM6CRtO2ExMt@>=aH rvN{f_1t~0IGmR@1DQUqHM4<&l2`wPXz#fuIjclh(2|q&cJ+ES93 MVeae>i_i@JQpUqTkH#+^5xJxC5tZ+D~Z?DFBt zJ`yYMBdw0^mYcg-FsT+*gj>?`Tx@20XZrHt%UPSFTkJwD&n1BFu+k6+?I2SuQ)F=o z<0gYTp>bqJBP&b>ZUNbmnF5Nuvp9Z>3*%u&o?f8Fu|iyFTT0 1{~it~b;CKo(bBH)x@{Ld~{9Tf>Ih{EFy()P5v#gtT5wAb!fGl5i_7CBE&TM8vjj2jz>+Q$cflGNv#7w zR=Mhe{qxtOtG2p*E)|{QSL!!uF1?kl;0Sl&Lo^rLDmR|c-saihxen< x>(XZV|HS|NNhwV1T#YfpiWy!d|S$`^R#fhHWSJTLPj>-+-h2@Rwm;c!J4G?a*X*{I=TFdQ({&Fd@<(`E+ zIS<$qx#fn-*-Tw5MtT#{IY`$dEk$}C(lVsGk 0@7uO;(j1X+z&(<*kf|3 zk>42tdr`$+mMH`KRK>_%3qJa8K*&pxDcMRN2Mf2-A0LbZ+1nAh(~;2X=xTFxmBGa* ziJuF{BqrQ3QT&cX80ij27v!iu2FVZeF~qTV913U|Q@F*w0aP5roXVPrS>s2i6jrBV zWNFVKrXnhV%pNsCWfZ1h5L$oYZNkE=Fx8=zTZ%X)Ogrh7YjPq AktwhNpgCs|@t)KZ$~X~Opr-%~Nk>6ngAQ5cPGtCkv?qy`!r9d8FBwae(!`cO@M z7WpYCYe%{O>0zXcksd+16zNf<2}sFe2u&nPXd+Pt{%BNSzmxe4?4(Q?*(WNdM^6Ob zK$$WyItmMnj>1A-zYal)l98_vW~pa#OPxrL0<<;u4q><{Taa?6Jtov&NaUp{Er(@) zp}(i+2^bc6@F^@4S3hDLf2Ku4NMWtGMmM6HQQD3ek4Pc>Y<&P&xZ6v0E<+@Po~}{T zU{h@`8`=&YilNW;6t|aJ?eP|9X-Q4`?=4U-5F$9jq=RHEujdTnLjC>%ky il$-?^Qtm8FLrVQ!iYQc(D4~i(8Q9~v5@lqxjS*#Fuga8> zy`f^=Dt2DQJbu5=KiwqWWtys8cx7F+$m#dhoA}v+e~h%4$y_{V@-~_1s4KV{X(^&` z@kbys8{9iBmuWg4#j`7`Ol+|MeG#D+32c`fygWxnt%waBx;wsg_1LLn3${GyU()`M zb^IA$f4{3* kYX(U6<##y!7MOMt{C(UCGMTPY*bK zvhkM1=VlICd@g6|sS}kQ)gO-;^u|-3C2J0@+xYn%TSxAB=>==a9}ZQvO}${(AA0s} z-#vf+^T{~ Y(;8F%y4W5*w#yY02wPdAKu z?=JJIlRsJEy{lvG-%R%pJ^w!I$l7_zargE=t{gJz`d9AC`{ED(-Ll7fXzvT1Z~n|U zc7ZwdwJ$#zxnSDd{mwnt{BZlJ8xP%nde?#%&J?}Av~t(i_YFJu^lkb;*}NBbytyt= z&~|+8_MwZGPZ)Op)TeHaxo7pmFaPAqm4*A>+
GFdw1;e4rP|D zZhSG8=B@hb_Sl#U7wA=kwc6tfq?yf|^)bydvdUMNR$qlO#ss4MbQu 2(_vfqkUf z4~liX7JbTW3aRnIf%)4)0H*z{nR=ktDTd$!_bBp8q6TF{ 243tuaToIs0TTM99e`O
$akdBvOdwbF#eo^@Ad>T(xcSInvGG+<3n;Bv_-8_Fz~hpJ#yVCkyozT zaq+cR+bZAkHntFmU}@Ji_0bmBkC3(!cw60*o~A|A1Z`VfhjjGVhGvtcWnhb m8-Tby07&*T2RuGYwqgA#zt*Tyr!FcUQN)p zl>}U`yB>_n947L%UU}vC9hxd2wQVKyT4X+GHYZrd920HTUbt@^08P-gbt!PYt{H79 zx{=J=`o$AFhH0vR)V7tvYXxwnapf)eC)SJf@Y974;K_hCXxkc!0)2=crtr3!4vf89 zTPL(F>V{so8CPoS!1it!6q>{R9~} ZsZ-i=;YrkTTGysbaE){`p|7B-MTgg9p6 z<6!K+WQ0%}86E}oLf(>*cwS2quh%$l3P*_is8=oe&XIya ;fTj3lc_sf-Nfh*a;XZ}QL@QBWkiWS$=6RvC#^d4ArDXJ;>DUoYe+5PnCYH67Fb zN-!LVUUwCB17YEncVpeu>H^eUzm|)rR;Zj2Kzign`r(d``;wC-8*!=?DhH2MHFC~8 z_M=IC$yq7Op<1DG=(wrZDfj3bPoBcv8GT%j$#SSxsGQMUj#Bf%^`$rTCFl3D9I6#6 zXAGA^dmn{)!=EVWOU?(f9I6#6=W-x=om|Yk^V=TiOU`+jk!q2go?j})ayitW7(@|h zln<=kL?_d*FjVe1uO;Njzg(EWsn_+E^HNe;ahMQfr^s@6E#+6U3gR1w2%A9Uw}dp! z4;tga3lFVl2vO_W(6ZFW4+)YK_78$2_5STZk|O?TAW0E^E|8>e`=0 zH6TgRe-x0U-v0&wi~2hNMjQPP07>fo(LYAs>pOo*it=ec1{V2ieyPt-W+cg5-v}1T zMW5c|b9|{f*x<&h$*}SnaDBb6LH%L^#hQ;NWL|N;WK!?9;t(13+En6aO3k;kObUNH zAa;+CM*vc data[q->rear] = value; - q->rear = (q->front + q->size + 1) % MAX_QUEUE; + q->rear = (q->front + q->size +1) % MAX_QUEUE; q->size++; } @@ -73,14 +73,15 @@ void print_array_queue(array_queue *q) printf("error :\n"); return ; } - for (int i=q->front; i!=q->rear;i = (i+1)%MAX_QUEUE) + for (int i=q->front;i size;i++) { printf("["); - printf("%d ",q->data[i]); + printf("%d ",q->data[i%MAX_QUEUE]); printf("]\n"); } } - -// if while for void return fuck shit def sleep \ No newline at end of file +// void return def => fuck shit +// if for while malloc def sleep pause NULL +// #include $time_noon \ No newline at end of file diff --git a/linked_list.c b/linked_list.c index 2a1b631..11ea29e 100644 --- a/linked_list.c +++ b/linked_list.c @@ -6,6 +6,11 @@ node* init_node(elem_type value) { node* new_node = (node*)malloc(sizeof(node)); + if (new_node == NULL) + { + printf("error: malloc failed\n"); + return NULL; + } new_node->value = value; new_node->next = NULL; return new_node; diff --git a/main.c b/main.c index 9d2db54..dc06eb2 100644 --- a/main.c +++ b/main.c @@ -10,41 +10,43 @@ int main(void) - //sq_list* L = init_sq_list(); - //sq_list* N = init_sq_list(); - //for (int i = 1; i <= 3; i++) - //{ - // N->data[i - 1] = i+10; - //} - //for (int i = 1; i <= 10; i++) - //{ - // L->data[i - 1] = i; - //} - //N->length = 3; - //L->length = 10; - //print_sq_list(N); - //print_sq_list(L); - //mer_ge_sq_list(L,N); - //print_sq_list(L); - //printf("L->length:[%d]\n", L->length); + /*sq_list* L = init_sq_list(); + sq_list* N = init_sq_list(); + for (int i = 1; i <= 3; i++) + { + N->data[i - 1] = i+10; + } + for (int i = 1; i <= 10; i++) + { + L->data[i - 1] = i; + } + N->length = 3; + L->length = 10; + print_sq_list(N); + print_sq_list(L); + mer_ge_sq_list(L,N); + print_sq_list(L); + printf("L->length:[%d]\n", L->length);*/ -/* - // ջ���� - array_stack* stack = init_array_stack(); + + /* array_stack* stack = init_array_stack(); push_array_stack(stack, 1); push_array_stack(stack, 2); - push_array_stack(stack, 3); */ + push_array_stack(stack, 3);*/ + + + array_queue *q = init_array_queue(); push_array_queue(q,0); push_array_queue(q,1); push_array_queue(q,2); print_array_queue(q); printf("---------------------\n"); - pop_array_queue(q); + /* pop_array_queue(q); print_array_queue(q); printf("----------\n"); push_array_queue(q, 666); - print_array_queue(q); + print_array_queue(q);*/ printf("Hello World!\n"); system("pause"); return 0; From fe663f1468796da0056adfad478625364b38e667 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Mon, 24 Mar 2025 21:27:48 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E9=98=9F=E5=88=97=20print=20=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 i 从 0 开始 --- Project2/Debug/Project2.Build.CppClean.log | 4 ++-- Project2/Debug/Project2.log | 18 ++++++++++++++++++ .../Debug/Project2.tlog/CL.command.1.tlog | Bin 4446 -> 4446 bytes Project2/Debug/Project2.tlog/CL.read.1.tlog | Bin 18700 -> 17924 bytes Project2/Debug/Project2.tlog/CL.write.1.tlog | Bin 2854 -> 2436 bytes Project2/Debug/Project2.tlog/link.read.1.tlog | Bin 4202 -> 4558 bytes Project2/Debug/array_queue.obj.enc | Bin 15190 -> 0 bytes array_queue.c | 2 +- main.c | 4 ++-- 9 files changed, 23 insertions(+), 5 deletions(-) delete mode 100644 Project2/Debug/array_queue.obj.enc diff --git a/Project2/Debug/Project2.Build.CppClean.log b/Project2/Debug/Project2.Build.CppClean.log index 56d185e..c7fd480 100644 --- a/Project2/Debug/Project2.Build.CppClean.log +++ b/Project2/Debug/Project2.Build.CppClean.log @@ -1,15 +1,15 @@ c:\code\lencode\project2\project2\debug\vc143.pdb c:\code\lencode\project2\project2\debug\vc143.idb c:\code\lencode\project2\project2\debug\sq_list.obj +c:\code\lencode\project2\project2\debug\main.obj c:\code\lencode\project2\project2\debug\linked_list_stack.obj c:\code\lencode\project2\project2\debug\linked_list.obj c:\code\lencode\project2\project2\debug\array_stack.obj c:\code\lencode\project2\project2\debug\array_queue.obj -c:\code\lencode\project2\project2\debug\main.obj c:\code\lencode\project2\debug\project2.exe c:\code\lencode\project2\debug\project2.pdb c:\code\lencode\project2\project2\debug\project2.ilk -c:\code\lencode\project2\project2\debug\main.obj.enc +c:\code\lencode\project2\project2\debug\array_queue.obj.enc c:\code\lencode\project2\project2\debug\project2.tlog\cl.command.1.tlog c:\code\lencode\project2\project2\debug\project2.tlog\cl.items.tlog c:\code\lencode\project2\project2\debug\project2.tlog\cl.read.1.tlog diff --git a/Project2/Debug/Project2.log b/Project2/Debug/Project2.log index 6260e31..4bc6b00 100644 --- a/Project2/Debug/Project2.log +++ b/Project2/Debug/Project2.log @@ -4,4 +4,22 @@ C:\code\lencode\Project2\array_queue.h(1,1): warning C4819: 该文件包含不 (编译源文件“array_queue.c”) C:\code\lencode\Project2\array_queue.c(22,5): warning C4013: “memset”未定义;假设外部返回 int + array_stack.c +C:\code\lencode\Project2\array_stack.c(12,5): warning C4013: “memset”未定义;假设外部返回 int + linked_list.c + linked_list_stack.c +C:\code\lencode\Project2\linked_list_stack.c(26,3): warning C4098: “push_stack_linked”:“void”函数返回值 + main.c +C:\code\lencode\Project2\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + (编译源文件“main.c”) + +C:\code\lencode\Project2\main.c(39,22): warning C4013: “init_array_queue”未定义;假设外部返回 int +C:\code\lencode\Project2\main.c(39,18): warning C4047: “初始化”:“array_queue *”与“int”的间接级别不同 + sq_list.c +C:\code\lencode\Project2\sq_list.c(102,9): warning C4033: “locate_list”必须返回值 +C:\code\lencode\Project2\sq_list.c(112,9): warning C4033: “locate_list”必须返回值 +C:\code\lencode\Project2\sq_list.c(166,34): warning C4047: “函数”:“int”与“sq_list *”的间接级别不同 +C:\code\lencode\Project2\sq_list.c(166,34): warning C4024: “locate_list”: 形参和实参 2 的类型不同 + 正在生成代码... +C:\code\lencode\Project2\sq_list.c(116,1): warning C4715: “locate_list”: 不是所有的控件路径都返回值 Project2.vcxproj -> C:\code\lencode\Project2\Debug\Project2.exe diff --git a/Project2/Debug/Project2.tlog/CL.command.1.tlog b/Project2/Debug/Project2.tlog/CL.command.1.tlog index 700c058df54501f5fbe8d40cca392775ab3fe4fa..d02a696ac866d2792f760be0c048d72f8f8bea1f 100644 GIT binary patch delta 51 zcmcbobWdr5(_|k(q0J}wrZG)^#bh$sL6B$i4JM(@25c2fAkO9+OnPja?{S}D+RVne Ggb4ug01^HG delta 45 vcmcbobWdr5)8qrJLYr-vH*sv<#kYiM@h)!W$#Tp*lW#ByZI W%igV=~X$K*+G3a rZ#Q81@YjkrqU{0SIM3K(oR#uj~swNFpySUolUwbRb({S|xPHk3$ diff --git a/Project2/Debug/Project2.tlog/CL.write.1.tlog b/Project2/Debug/Project2.tlog/CL.write.1.tlog index bc3d373f9784b2575ecc3251d4ca8f60dd07a38f..864d760aca0450acb5759cfe636bb23998125f0d 100644 GIT binary patch delta 39 xcmV+?0NDSg7K9V9eg%^d3k;J&2B4G52@H{t4zr8}8UmAg0SuEw2A-3;0el3L4IBUf delta 55 zcmZn>UM9Aoj& )1>t$8nTRHe=d0IgD9kvK{LV JFk6OI2>?Y16RH3J diff --git a/Project2/Debug/Project2.tlog/link.read.1.tlog b/Project2/Debug/Project2.tlog/link.read.1.tlog index f4819713922d203046a3b53fea85210adeda7617..97bf774dbd01ca6aa7d5911ac2f5236b54e68763 100644 GIT binary patch delta 114 zcmaE*a87xH2Jhq?W~t2$yswxh2XOkaIx%=M_)Xr(CMz7lV8LL<5W^6};LM=M;K~re t;5s>xS#@#)Z;LTl6;RHD!Ji?RAp|G~Q46D;8Nz^~K|o!>aJ{m;&HzL87!v>h delta 28 kcmX@7{7PYi2Jd7JW`W7e1T`k7F)K_K;G44f8gCdA0FIgoPyhe` diff --git a/Project2/Debug/array_queue.obj.enc b/Project2/Debug/array_queue.obj.enc deleted file mode 100644 index 84078e7d90bb1645b74b6ec1418339cb91981048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15190 zcmc&*3wTu3wceQtA(V)^C*rP&-4r5ueo;$V|OzV(yII(cVLxA&aw?4ss<=IIW;7*v?|ZC zU`=YdQu03ujC}&Wdy@rXLSki!1!?t7tK7@$-3nhKh_^0Pav}v^ds@J=I*?l5pp;OP zpM>$563do`x4RX5pMh^ t&cVQk<~#%#lcJYy7j zRlxUxXXs^uFAhm0d3BIC7d+1l7kts=6`^?Y2*!el6lffg U50e%KN z8%=^Q+WcJ)c}KuAa=hS+*1tn24uB`)3c&|;jM%?s$a@4lldcqe(bgk?;;rCGxJvLv z>mRM}Z1C)x(6_wJC>}qNvELw4h$gQL@;(Po-Xy`Nj@Mu13b+JDSL)WiGLM2<6V2AN z2z<}>lka3d_^3a|$x4eNjnu9VMJfH@qx*1JKln(0M@HlexKj&DZWKLXjO2|0-#D2U z(+T~fc>!NVDBoo8ObzD~cCA8@R|XRNVuWi#S-KbJo=V{<+ncue@mOrCXCAj=bm*4MNBdrX2f}S+rvgK?#o0-JM>DWMa zDVxl`x}B+MiP!D-HTkLorit^eHkCF8y!GC--i8{J%~#*(t@HSKAKrszOkfE~Ch7za zlHHQ&%uLVBlH9%qchK)gkJdD~>a4YFbSPtvIoFx)%(P3QbZls;(_(XGWn^SYt6Wu{ z>LyelAIjix+S9Y_cAK=y?GHAfdmiwZLV2cTX60s^9qH%`HbQ>@9M^<$WSa{tSp^oe z!XY&Us=Pkxd$qR)>|ukmIrB58S<)RU`%Ro5jF*SXEy#2_GBeGYLSAn{8R_Zvg4|r1 zCEhcs-c?uUbAvH#9&)p?ELqt$%u=8V6VY2zZf?HAZgCc Vi88L97e-etYp%*-gTq-RXCNp)EC0L^_^ryM!X0&{+L4s}XMNDXZ(s~|Vu=E$)~ z8ij+HFfN ? zppJw|bk%vlVFYq15NBbr0~=R-QV`Xfylbh9vQ#E{eanK?P|WzGA(WM%BZ`DZpSJ<` zY7;w)dd<*tGCn4K-q>3{`})CneoNw3rY?;lp`@Q6x zP0zEo-;clb@PwJWUS72K)qB3W{hLE;wlj8)^QFDs^61-l44Az6e&@Ws@wp$|;d|_m zyCy&Wonz9 ^gXNd5XJ;u~C>ClRobEk4`VUH13 eKmH^oG}B=XT@g>Kl019_WFZ=E$%wCW >?)p zB;U~$r>6WrhdBn&sRKoy7hR8|5vwn-cUT3v6-Cj58JD5crmATID2`? z*2bCD<;8*B`bRvIUweA8W#GGxzd0G(#`(5BG3oh#7Ht0c=n-A#4nO`;{=R8n#hNNk z?`(MHn@c)Zc0Gg*o%3D3=i$Fj@}1fG*qT^ZLPz4n7x(P-=l){hwmpXAOGb_Cg5!K6 z)YGIl84Hhm{_2X3J!$uUJ!Ad4W66(CJ8`b#>M;*)8k4(k=gBlUlbr8#as9R*eH1uf z>`I)O@qA;&Z<8PY)vnE-O 2M z>dJ-QhAQ7pO{O2 w?%5(#>h+w2bU@Gt$Z+G`v!nlC;|IFG;ap!VF$a ziRhzhha{0c>25(?Z %UT5IML>TP9twYMn%X@PKkr%Jap$^*rYg59Bi_pY(o*?1nKw@fz*_7&8 z)@ZsGiMP>2d5dYXX$c2_6Cg58B9nvCYfay|qA4{4EkbB|Zno(fE*elKhce9O9>^j? z78&~fEoPW=dc?~urf2j(a*OFozb- *O24o@(b F|o9)1Zu zM>4VmnKH0+Q1r~m$g*V0z!rg`=R-y&$&`Vu14Yk*jNFqX%E0aiM$dhW>>-&lu%n>p z8IO^5$drM_goXKSU5k&>A&?xyR754vQ#NfF0sy`WKSk4`EJn;_vuK{wKy`?RVo%7A zaPEYcoJ`XmDcqLKbgYyF(?VAx4rJHMl#x}+l!2k^w|2E7TfSgn+c%lNJMa?1-yb~) zgndkxO$X>IEm?HybL}8zbaAxp _=qtrkgqi0qg#1wV~uFE-=iE9nVB2CN;l(Zu% zVKzp68M;cmG%-gI3&JLb>d?y4lb|?t-1(9?9>~YUMnBF7)shdVV_!oPpP_c}Q?y>V zaDgU61k ^&8uyI1hV%T#}qq3vv&Bc-gZByn!r{DgUJ zj`%X64zpwDwk6KHKsP9Bd2aZOvmB15HFTG2wI)mMRSMRe&j(72K?(gKWsR;$RVZyo zR1_jyljy9N9;QiDhi05sVx&@$#Yn5FW%a517R5 S5T7TwSb$ z;qg(uE5I?5KZvkmeh!AQGbWL7qqDM<@2@GQ!}9mjwZSYm$qJDa^3W9B`Qe&JV;+u` zMysmkt=ENW-Uj5$P`(i!&rbT#BL)MMAnQ>bM6CRtO2ExMt@>=aH rvN{f_1t~0IGmR@1DQUqHM4<&l2`wPXz#fuIjclh(2|q&cJ+ES93 MVeae>i_i@JQpUqTkH#+^5xJxC5tZ+D~Z?DFBt zJ`yYMBdw0^mYcg-FsT+*gj>?`Tx@20XZrHt%UPSFTkJwD&n1BFu+k6+?I2SuQ)F=o z<0gYTp>bqJBP&b>ZUNbmnF5Nuvp9Z>3*%u&o?f8Fu|iyFTT0 1{~it~b;CKo(bBH)x@{Ld~{9Tf>Ih{EFy()P5v#gtT5wAb!fGl5i_7CBE&TM8vjj2jz>+Q$cflGNv#7w zR=Mhe{qxtOtG2p*E)|{QSL!!uF1?kl;0Sl&Lo^rLDmR|c-saihxen< x>(XZV|HS|NNhwV1T#YfpiWy!d|S$`^R#fhHWSJTLPj>-+-h2@Rwm;c!J4G?a*X*{I=TFdQ({&Fd@<(`E+ zIS<$qx#fn-*-Tw5MtT#{IY`$dEk$}C(lVsGk 0@7uO;(j1X+z&(<*kf|3 zk>42tdr`$+mMH`KRK>_%3qJa8K*&pxDcMRN2Mf2-A0LbZ+1nAh(~;2X=xTFxmBGa* ziJuF{BqrQ3QT&cX80ij27v!iu2FVZeF~qTV913U|Q@F*w0aP5roXVPrS>s2i6jrBV zWNFVKrXnhV%pNsCWfZ1h5L$oYZNkE=Fx8=zTZ%X)Ogrh7YjPq AktwhNpgCs|@t)KZ$~X~Opr-%~Nk>6ngAQ5cPGtCkv?qy`!r9d8FBwae(!`cO@M z7WpYCYe%{O>0zXcksd+16zNf<2}sFe2u&nPXd+Pt{%BNSzmxe4?4(Q?*(WNdM^6Ob zK$$WyItmMnj>1A-zYal)l98_vW~pa#OPxrL0<<;u4q><{Taa?6Jtov&NaUp{Er(@) zp}(i+2^bc6@F^@4S3hDLf2Ku4NMWtGMmM6HQQD3ek4Pc>Y<&P&xZ6v0E<+@Po~}{T zU{h@`8`=&YilNW;6t|aJ?eP|9X-Q4`?=4U-5F$9jq=RHEujdTnLjC>%ky il$-?^Qtm8FLrVQ!iYQc(D4~i(8Q9~v5@lqxjS*#Fuga8> zy`f^=Dt2DQJbu5=KiwqWWtys8cx7F+$m#dhoA}v+e~h%4$y_{V@-~_1s4KV{X(^&` z@kbys8{9iBmuWg4#j`7`Ol+|MeG#D+32c`fygWxnt%waBx;wsg_1LLn3${GyU()`M zb^IA$f4{3* kYX(U6<##y!7MOMt{C(UCGMTPY*bK zvhkM1=VlICd@g6|sS}kQ)gO-;^u|-3C2J0@+xYn%TSxAB=>==a9}ZQvO}${(AA0s} z-#vf+^T{~ Y(;8F%y4W5*w#yY02wPdAKu z?=JJIlRsJEy{lvG-%R%pJ^w!I$l7_zargE=t{gJz`d9AC`{ED(-Ll7fXzvT1Z~n|U zc7ZwdwJ$#zxnSDd{mwnt{BZlJ8xP%nde?#%&J?}Av~t(i_YFJu^lkb;*}NBbytyt= z&~|+8_MwZGPZ)Op)TeHaxo7pmFaPAqm4*A>+
GFdw1;e4rP|D zZhSG8=B@hb_Sl#U7wA=kwc6tfq?yf|^)bydvdUMNR$qlO#ss4MbQu 2(_vfqkUf z4~liX7JbTW3aRnIf%)4)0H*z{nR=ktDTd$!_bBp8q6TF{ 243tuaToIs0TTM99e`O
$akdBvOdwbF#eo^@Ad>T(xcSInvGG+<3n;Bv_-8_Fz~hpJ#yVCkyozT zaq+cR+bZAkHntFmU}@Ji_0bmBkC3(!cw60*o~A|A1Z`VfhjjGVhGvtcWnhb m8-Tby07&*T2RuGYwqgA#zt*Tyr!FcUQN)p zl>}U`yB>_n947L%UU}vC9hxd2wQVKyT4X+GHYZrd920HTUbt@^08P-gbt!PYt{H79 zx{=J=`o$AFhH0vR)V7tvYXxwnapf)eC)SJf@Y974;K_hCXxkc!0)2=crtr3!4vf89 zTPL(F>V{so8CPoS!1it!6q>{R9~} ZsZ-i=;YrkTTGysbaE){`p|7B-MTgg9p6 z<6!K+WQ0%}86E}oLf(>*cwS2quh%$l3P*_is8=oe&XIya ;fTj3lc_sf-Nfh*a;XZ}QL@QBWkiWS$=6RvC#^d4ArDXJ;>DUoYe+5PnCYH67Fb zN-!LVUUwCB17YEncVpeu>H^eUzm|)rR;Zj2Kzign`r(d``;wC-8*!=?DhH2MHFC~8 z_M=IC$yq7Op<1DG=(wrZDfj3bPoBcv8GT%j$#SSxsGQMUj#Bf%^`$rTCFl3D9I6#6 zXAGA^dmn{)!=EVWOU?(f9I6#6=W-x=om|Yk^V=TiOU`+jk!q2go?j})ayitW7(@|h zln<=kL?_d*FjVe1uO;Njzg(EWsn_+E^HNe;ahMQfr^s@6E#+6U3gR1w2%A9Uw}dp! z4;tga3lFVl2vO_W(6ZFW4+)YK_78$2_5STZk|O?TAW0E^E|8>e`=0 zH6TgRe-x0U-v0&wi~2hNMjQPP07>fo(LYAs>pOo*it=ec1{V2ieyPt-W+cg5-v}1T zMW5c|b9|{f*x<&h$*}SnaDBb6LH%L^#hQ;NWL|N;WK!?9;t(13+En6aO3k;kObUNH zAa;+CM*vc front;i size;i++) + for (int i=0;i size;i++) { printf("["); printf("%d ",q->data[i%MAX_QUEUE]); diff --git a/main.c b/main.c index dc06eb2..f59126d 100644 --- a/main.c +++ b/main.c @@ -42,11 +42,11 @@ int main(void) push_array_queue(q,2); print_array_queue(q); printf("---------------------\n"); - /* pop_array_queue(q); + pop_array_queue(q); print_array_queue(q); printf("----------\n"); push_array_queue(q, 666); - print_array_queue(q);*/ + print_array_queue(q); printf("Hello World!\n"); system("pause"); return 0; From 2ae1f280b4cb8d5ddc228f02ad694a3d32ca2075 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Mon, 24 Mar 2025 22:39:40 +0800 Subject: [PATCH 04/16] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化叙述逻辑 --- README.md | 75 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index e3e21b5..0913366 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,44 @@ 通过用C语言构建本学期所有数据结构和算法,来练编码. ## 项目结构说明 `main.c`由于测试和调用其它`.c`文件,其它算法源文件用其英文名命名,编写被调用文件时首先在`name.h`声名结构体和函数,然后在`name.c`实现功能. + ## 示例 +-[跳转到示例代码](#section2) + +## 补充 +### 知识补充 +```c +#ifndef LINKED_LIST_H +#define LINKED_LIST_H + + + +#endif +``` +在 C 语言中,头文件(`.h` 文件)通常使用预处理指令 `#ifndef`、`#define` 和 `#endif` 来防止头文件被重复包含,避免编译错误。这种技术被称为 **头文件保护符** 或 **包含卫士**。 + +**工作原理:** + +1. **`#ifndef LINKED_LIST_H`**:检查宏 `LINKED_LIST_H` 是否未被定义。 +2. **`#define LINKED_LIST_H`**:如果未定义,则定义宏 `LINKED_LIST_H`。 +3. **头文件内容**:包含实际的类型定义和函数声明。 +4. **`#endif`**:结束条件编译。 + +当头文件第一次被包含时,`LINKED_LIST_H` 未被定义,编译器会处理头文件内容并定义 `LINKED_LIST_H`。如果头文件再次被包含,由于 `LINKED_LIST_H` 已被定义,`#ifndef` 条件不成立,编译器会跳过头文件内容,从而避免重复定义。 + +**注意事项:** + +- **宏名的唯一性**:确保每个头文件的宏名唯一,通常使用头文件名的大写形式,并用下划线替代非字母数字字符。 +- **`#pragma once` 指令**:一些编译器支持 `#pragma once`,它可以防止头文件被多次包含,使用起来更简洁,但并非所有编译器都支持,使用 `#ifndef` 等预处理指令具有更好的可移植性。 + +通过使用头文件保护符,可以有效防止头文件的重复包含,确保代码的正确编译。 +### 规则补充 +统一使用`小写下划线命名法` + + + +## 示例代码 + `linked_list.h`: ```c #ifndef LINKED_LIST_H @@ -128,32 +165,12 @@ int main() { return 0; } ``` -## 补充 -### 知识补充 -```c -#ifndef LINKED_LIST_H -#define LINKED_LIST_H - - - -#endif -``` -在 C 语言中,头文件(`.h` 文件)通常使用预处理指令 `#ifndef`、`#define` 和 `#endif` 来防止头文件被重复包含,避免编译错误。这种技术被称为 **头文件保护符** 或 **包含卫士**。 - -**工作原理:** - -1. **`#ifndef LINKED_LIST_H`**:检查宏 `LINKED_LIST_H` 是否未被定义。 -2. **`#define LINKED_LIST_H`**:如果未定义,则定义宏 `LINKED_LIST_H`。 -3. **头文件内容**:包含实际的类型定义和函数声明。 -4. **`#endif`**:结束条件编译。 - -当头文件第一次被包含时,`LINKED_LIST_H` 未被定义,编译器会处理头文件内容并定义 `LINKED_LIST_H`。如果头文件再次被包含,由于 `LINKED_LIST_H` 已被定义,`#ifndef` 条件不成立,编译器会跳过头文件内容,从而避免重复定义。 - -**注意事项:** - -- **宏名的唯一性**:确保每个头文件的宏名唯一,通常使用头文件名的大写形式,并用下划线替代非字母数字字符。 -- **`#pragma once` 指令**:一些编译器支持 `#pragma once`,它可以防止头文件被多次包含,使用起来更简洁,但并非所有编译器都支持,使用 `#ifndef` 等预处理指令具有更好的可移植性。 - -通过使用头文件保护符,可以有效防止头文件的重复包含,确保代码的正确编译。 -### 规则补充 -统一使用`小写下划线命名法` +### 文件结构 +```tree +project/ +├── (忽略) +├── README.md +├── linked_list.h +├── linked_list.c +└── main.c +``` \ No newline at end of file From 391430df11a4089f083fc8d8e91b8d51fc9b66d9 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Mon, 24 Mar 2025 22:41:23 +0800 Subject: [PATCH 05/16] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化叙述逻辑 --- README.md | 289 +++++++++++++++++++++++++++--------------------------- 1 file changed, 147 insertions(+), 142 deletions(-) diff --git a/README.md b/README.md index 0913366..e0eb824 100644 --- a/README.md +++ b/README.md @@ -1,176 +1,181 @@ # 数据结构与算法练习代码 + ## 项目目标 - 通过用C语言构建本学期所有数据结构和算法,来练编码. +本项目旨在通过C语言实现本学期所学的所有数据结构和算法,以提升编码能力、加深对数据结构和算法的理解,并培养良好的编程习惯。通过实际编写代码,我们将逐步构建一个完整的数据结构与算法库,为后续的软件开发和学习打下坚实的基础。 + ## 项目结构说明 - `main.c`由于测试和调用其它`.c`文件,其它算法源文件用其英文名命名,编写被调用文件时首先在`name.h`声名结构体和函数,然后在`name.c`实现功能. +项目采用模块化设计,每个数据结构或算法模块都独立封装,便于管理和复用。具体结构如下: -## 示例 --[跳转到示例代码](#section2) +- **`main.c`**:主程序文件,用于测试和调用其他模块的功能。它是整个项目的入口,通过它来运行和验证各个数据结构和算法模块的实现。 +- **算法源文件**:每个数据结构或算法模块都有一个独立的源文件,文件名以其实现的功能的英文名命名,例如`linked_list.c`用于实现链表,`stack.c`用于实现栈等。这种命名方式直观且易于理解,方便开发者快速定位和使用相关模块。 +- **头文件**:每个模块的头文件(如`linked_list.h`、`stack.h`等)用于声明该模块中定义的结构体和函数。头文件是模块对外的接口,它定义了模块可以被外部调用的函数和数据结构,隐藏了具体的实现细节,符合模块化设计的原则,同时也便于其他模块的引用和调用。 -## 补充 -### 知识补充 +在编写被调用模块的代码时,首先需要在对应的头文件中声明结构体和函数,明确模块的接口;然后在对应的源文件中实现这些函数的功能。这种分离接口和实现的方式,不仅有助于代码的组织和管理,还便于后续的维护和扩展。例如,如果需要修改某个模块的内部实现,只需修改其源文件,而无需修改头文件和主程序文件,只要保持接口不变,不会影响其他模块的正常调用。 + +## 示例代码 +以下是一个简单的示例,展示如何组织代码和实现功能。 + +### 简化示例代码 +以下是一个简单的“Hello, World!”示例,展示如何在项目中添加一个新的模块。 + +#### `hello_world.h` ```c -#ifndef LINKED_LIST_H -#define LINKED_LIST_H +#ifndef HELLO_WORLD_H +#define HELLO_WORLD_H +void print_hello_world(); - -#endif +#endif // HELLO_WORLD_H ``` -在 C 语言中,头文件(`.h` 文件)通常使用预处理指令 `#ifndef`、`#define` 和 `#endif` 来防止头文件被重复包含,避免编译错误。这种技术被称为 **头文件保护符** 或 **包含卫士**。 + +#### `hello_world.c` +```c +#include "hello_world.h" +#include + +void print_hello_world() { + printf("Hello, World!\n"); +} +``` + +#### 在`main.c`中调用 +```c +#include "hello_world.h" + +int main() { + print_hello_world(); + return 0; +} +``` + +## 知识补充 +### 头文件保护符 +在C语言中,头文件(`.h`文件)通常使用预处理指令`#ifndef`、`#define`和`#endif`来防止头文件被重复包含,避免编译错误。这种技术被称为**头文件保护符**或**包含卫士**。 **工作原理:** -1. **`#ifndef LINKED_LIST_H`**:检查宏 `LINKED_LIST_H` 是否未被定义。 -2. **`#define LINKED_LIST_H`**:如果未定义,则定义宏 `LINKED_LIST_H`。 +1. **`#ifndef LINKED_LIST_H`**:检查宏`LINKED_LIST_H`是否未被定义。 +2. **`#define LINKED_LIST_H`**:如果未定义,则定义宏`LINKED_LIST_H`。 3. **头文件内容**:包含实际的类型定义和函数声明。 4. **`#endif`**:结束条件编译。 -当头文件第一次被包含时,`LINKED_LIST_H` 未被定义,编译器会处理头文件内容并定义 `LINKED_LIST_H`。如果头文件再次被包含,由于 `LINKED_LIST_H` 已被定义,`#ifndef` 条件不成立,编译器会跳过头文件内容,从而避免重复定义。 +当头文件第一次被包含时,`LINKED_LIST_H`未被定义,编译器会处理头文件内容并定义`LINKED_LIST_H`。如果头文件再次被包含,由于`LINKED_LIST_H`已被定义,`#ifndef`条件不成立,编译器会跳过头文件内容,从而避免重复定义。 **注意事项:** - **宏名的唯一性**:确保每个头文件的宏名唯一,通常使用头文件名的大写形式,并用下划线替代非字母数字字符。 -- **`#pragma once` 指令**:一些编译器支持 `#pragma once`,它可以防止头文件被多次包含,使用起来更简洁,但并非所有编译器都支持,使用 `#ifndef` 等预处理指令具有更好的可移植性。 +- **`#pragma once`指令**:一些编译器支持`#pragma once`,它可以防止头文件被多次包含,使用起来更简洁,但并非所有编译器都支持,使用`#ifndef`等预处理指令具有更好的可移植性。 -通过使用头文件保护符,可以有效防止头文件的重复包含,确保代码的正确编译。 -### 规则补充 -统一使用`小写下划线命名法` +通过使用头文件保护符,可以有效防止头文件的重复包含,确保代码的正确编译。 +### 命名规范 +为了保持代码的一致性和可读性,本项目统一使用**小写下划线命名法**。例如,变量名和函数名使用`variable_name`和`function_name`的形式,宏定义使用`MACRO_NAME`的形式。 - -## 示例代码 - -`linked_list.h`: - ```c -#ifndef LINKED_LIST_H -#define LINKED_LIST_H - -#include - -// 链表节点结构体 -typedef struct Node { - int data; - struct Node* next; -} Node; - -// 链表操作函数声明 -Node* create_node(int data); -void append_node(Node** head, int data); -bool delete_node(Node** head, int data); -void print_list(const Node* head); -void free_list(Node** head); - -#endif // LINKED_LIST_H - +## 如何参与项目 +### 1. 克隆项目 +#### 方式1:直接克隆 +```bash +git clone https://github.com/jdhnsu/C_DS_Algo.git +cd C_DS_Algo ``` +#### 方式2(推荐): +使用`GitHub Desktop`客户端克隆项目,并在本地创建分支。 +- [GitHub Desktop 下载](https://desktop.github.com/download/) +- [GitHub Desktop 汉化工具](https://github.com/robotze/GithubDesktopZhTool) (记得给项目点个赞!) -`linked_list.c`: - ```c -#include -#include -#include "linked_list.h" +### 2. 添加新的数据结构或算法模块 +- 创建一个新的头文件(如`new_module.h`)和源文件(如`new_module.c`)。 +- 在头文件中声明结构体和函数接口。 +- 在源文件中实现这些函数的功能。 +- 在`main.c`中调用新模块的功能,验证其正确性。 -// 创建新节点 -Node* create_node(int data) { - Node* new_node = (Node*)malloc(sizeof(Node)); - if (!new_node) { - fprintf(stderr, "内存分配失败\n"); - exit(EXIT_FAILURE); - } - new_node->data = data; - new_node->next = NULL; - return new_node; -} +### 3. 提交代码 +- 提交你的代码到你的分支。 +- 创建一个Pull Request,详细描述你的更改和新增功能。 -// 在链表末尾添加节点 -void append_node(Node** head, int data) { - Node* new_node = create_node(data); - if (*head == NULL) { - *head = new_node; - return; - } - Node* current = *head; - while (current->next != NULL) { - current = current->next; - } - current->next = new_node; -} +### 4. 提出建议或问题 +如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出。 -// 删除包含指定数据的节点 -bool delete_node(Node** head, int data) { - if (*head == NULL) { - return false; - } - Node* current = *head; - Node* previous = NULL; +## 示例:添加一个新的模块 +假设我们要添加一个栈模块,以下是步骤: - // 查找要删除的节点 - while (current != NULL && current->data != data) { - previous = current; - current = current->next; - } +1. **创建头文件`stack.h`** + ```c + #ifndef STACK_H + #define STACK_H - // 未找到节点 - if (current == NULL) { - return false; - } + typedef struct Stack { + int* elements; + int capacity; + int top; + } Stack; - // 删除节点 - if (previous == NULL) { - // 要删除的是头节点 - *head = current->next; - } else { - previous->next = current->next; - } - free(current); - return true; -} + Stack* create_stack(int capacity); + void push(Stack* stack, int element); + int pop(Stack* stack); + bool is_empty(Stack* stack); + void free_stack(Stack* stack); -// 打印链表 -void print_list(const Node* head) { - const Node* current = head; - while (current != NULL) { - printf("%d -> ", current->data); - current = current->next; - } - printf("NULL\n"); -} + #endif // STACK_H + ``` -// 释放链表内存 -void free_list(Node** head) { - Node* current = *head; - while (current != NULL) { - Node* next = current->next; - free(current); - current = next; - } - *head = NULL; -} +2. **创建源文件`stack.c`** + ```c + #include "stack.h" + #include + #include -``` -`main.c`: -```c -#include -#include "linked_list.h" + Stack* create_stack(int capacity) { + Stack* stack = (Stack*)malloc(sizeof(Stack)); + stack->elements = (int*)malloc(capacity * sizeof(int)); + stack->capacity = capacity; + stack->top = -1; + return stack; + } -int main() { - Node* head = NULL; - insertNode(&head, 10); - insertNode(&head, 20); - insertNode(&head, 30); - printList(head); - deleteNode(&head, 20); - printList(head); - return 0; -} -``` -### 文件结构 -```tree -project/ -├── (忽略) -├── README.md -├── linked_list.h -├── linked_list.c -└── main.c -``` \ No newline at end of file + void push(Stack* stack, int element) { + if (stack->top == stack->capacity - 1) { + fprintf(stderr, "栈满,无法压入元素\n"); + return; + } + stack->elements[++stack->top] = element; + } + + int pop(Stack* stack) { + if (stack->top == -1) { + fprintf(stderr, "栈空,无法弹出元素\n"); + return -1; + } + return stack->elements[stack->top--]; + } + + bool is_empty(Stack* stack) { + return stack->top == -1; + } + + void free_stack(Stack* stack) { + free(stack->elements); + free(stack); + } + ``` + +3. **在`main.c`中调用栈模块** + ```c + #include "stack.h" + + int main() { + Stack* stack = create_stack(10); + push(stack, 10); + push(stack, 20); + printf("栈顶元素:%d\n", pop(stack)); + free_stack(stack); + return 0; + } + ``` + +4. **提交代码** + - 提交你的`stack.h`和`stack.c`文件。 + - 在`main.c`中验证栈模块的功能。(无需提交`main.c`文件) + - 提交时记得详细说明你的更改。 + +--- \ No newline at end of file From 6abf6282b4c1bfcdd8a195fe34c69280f4e9adf9 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Mon, 24 Mar 2025 23:05:44 +0800 Subject: [PATCH 06/16] Update README.md --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e0eb824..db9fc8f 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ cd C_DS_Algo - [GitHub Desktop 汉化工具](https://github.com/robotze/GithubDesktopZhTool) (记得给项目点个赞!) ### 2. 添加新的数据结构或算法模块 +- 工具说明:默认使用 *Visual Studio 2022 IDE*,克隆项目后,点击项目文件`Project2.sln`就可以开始编辑了。如果使用其它方式推荐使用`CMake`工具编译项目。 - 创建一个新的头文件(如`new_module.h`)和源文件(如`new_module.c`)。 - 在头文件中声明结构体和函数接口。 - 在源文件中实现这些函数的功能。 @@ -178,4 +179,12 @@ cd C_DS_Algo - 在`main.c`中验证栈模块的功能。(无需提交`main.c`文件) - 提交时记得详细说明你的更改。 ---- \ No newline at end of file +## 文件结构 +``` +C_DS_Algo/ +├── (一些日志文件和git配置(忽略)) +├── README.md +├── linked_list.h +├── linked_list.c +└── main.c +``` \ No newline at end of file From 77eb37a176c9a814f82a31d0dad1dd945f9df900 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Tue, 25 Mar 2025 14:02:44 +0800 Subject: [PATCH 07/16] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 18c2e0e..d97cfcc 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ Module.symvers Mkfile.old dkms.conf /.vs/Project2 +/.vs From 63f40a8e96b33cdb053fd74dbfd0c77c67dc0d9a Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Tue, 25 Mar 2025 14:05:15 +0800 Subject: [PATCH 08/16] Update README.md --- README.md | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index db9fc8f..0fbf4e6 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ # 数据结构与算法练习代码 ## 项目目标 + 本项目旨在通过C语言实现本学期所学的所有数据结构和算法,以提升编码能力、加深对数据结构和算法的理解,并培养良好的编程习惯。通过实际编写代码,我们将逐步构建一个完整的数据结构与算法库,为后续的软件开发和学习打下坚实的基础。 ## 项目结构说明 + 项目采用模块化设计,每个数据结构或算法模块都独立封装,便于管理和复用。具体结构如下: - **`main.c`**:主程序文件,用于测试和调用其他模块的功能。它是整个项目的入口,通过它来运行和验证各个数据结构和算法模块的实现。 @@ -13,12 +15,15 @@ 在编写被调用模块的代码时,首先需要在对应的头文件中声明结构体和函数,明确模块的接口;然后在对应的源文件中实现这些函数的功能。这种分离接口和实现的方式,不仅有助于代码的组织和管理,还便于后续的维护和扩展。例如,如果需要修改某个模块的内部实现,只需修改其源文件,而无需修改头文件和主程序文件,只要保持接口不变,不会影响其他模块的正常调用。 ## 示例代码 + 以下是一个简单的示例,展示如何组织代码和实现功能。 ### 简化示例代码 + 以下是一个简单的“Hello, World!”示例,展示如何在项目中添加一个新的模块。 #### `hello_world.h` + ```c #ifndef HELLO_WORLD_H #define HELLO_WORLD_H @@ -29,6 +34,7 @@ void print_hello_world(); ``` #### `hello_world.c` + ```c #include "hello_world.h" #include @@ -39,6 +45,7 @@ void print_hello_world() { ``` #### 在`main.c`中调用 + ```c #include "hello_world.h" @@ -49,7 +56,9 @@ int main() { ``` ## 知识补充 + ### 头文件保护符 + 在C语言中,头文件(`.h`文件)通常使用预处理指令`#ifndef`、`#define`和`#endif`来防止头文件被重复包含,避免编译错误。这种技术被称为**头文件保护符**或**包含卫士**。 **工作原理:** @@ -69,21 +78,29 @@ int main() { 通过使用头文件保护符,可以有效防止头文件的重复包含,确保代码的正确编译。 ### 命名规范 + 为了保持代码的一致性和可读性,本项目统一使用**小写下划线命名法**。例如,变量名和函数名使用`variable_name`和`function_name`的形式,宏定义使用`MACRO_NAME`的形式。 ## 如何参与项目 + ### 1. 克隆项目 + #### 方式1:直接克隆 + ```bash git clone https://github.com/jdhnsu/C_DS_Algo.git cd C_DS_Algo ``` + #### 方式2(推荐): + 使用`GitHub Desktop`客户端克隆项目,并在本地创建分支。 + - [GitHub Desktop 下载](https://desktop.github.com/download/) - [GitHub Desktop 汉化工具](https://github.com/robotze/GithubDesktopZhTool) (记得给项目点个赞!) ### 2. 添加新的数据结构或算法模块 + - 工具说明:默认使用 *Visual Studio 2022 IDE*,克隆项目后,点击项目文件`Project2.sln`就可以开始编辑了。如果使用其它方式推荐使用`CMake`工具编译项目。 - 创建一个新的头文件(如`new_module.h`)和源文件(如`new_module.c`)。 - 在头文件中声明结构体和函数接口。 @@ -91,16 +108,20 @@ cd C_DS_Algo - 在`main.c`中调用新模块的功能,验证其正确性。 ### 3. 提交代码 + - 提交你的代码到你的分支。 - 创建一个Pull Request,详细描述你的更改和新增功能。 ### 4. 提出建议或问题 -如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出。 + +如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出,[wiki]([Home · jdhnsu/C\_DS\_Algo Wiki · GitHub](https://github.com/jdhnsu/C_DS_Algo/wiki)) 中也有许多代码讲解可以查看. ## 示例:添加一个新的模块 + 假设我们要添加一个栈模块,以下是步骤: 1. **创建头文件`stack.h`** + ```c #ifndef STACK_H #define STACK_H @@ -119,8 +140,8 @@ cd C_DS_Algo #endif // STACK_H ``` - 2. **创建源文件`stack.c`** + ```c #include "stack.h" #include @@ -159,8 +180,8 @@ cd C_DS_Algo free(stack); } ``` - 3. **在`main.c`中调用栈模块** + ```c #include "stack.h" @@ -173,13 +194,14 @@ cd C_DS_Algo return 0; } ``` - 4. **提交代码** + - 提交你的`stack.h`和`stack.c`文件。 - 在`main.c`中验证栈模块的功能。(无需提交`main.c`文件) - 提交时记得详细说明你的更改。 ## 文件结构 + ``` C_DS_Algo/ ├── (一些日志文件和git配置(忽略)) @@ -187,4 +209,4 @@ C_DS_Algo/ ├── linked_list.h ├── linked_list.c └── main.c -``` \ No newline at end of file +``` From 6f273f4feb3b0af43434d9988b92ad7b6e3c439e Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Tue, 25 Mar 2025 14:06:27 +0800 Subject: [PATCH 09/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fbf4e6..da9a74c 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ cd C_DS_Algo ### 4. 提出建议或问题 -如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出,[wiki]([Home · jdhnsu/C\_DS\_Algo Wiki · GitHub](https://github.com/jdhnsu/C_DS_Algo/wiki)) 中也有许多代码讲解可以查看. +如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出,[wiki](https://github.com/jdhnsu/C_DS_Algo/wiki)) 中也有许多代码讲解可以查看. ## 示例:添加一个新的模块 From 20820b4ea54f6b2bfd4e1a4ec7dd259eda7c42e5 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Tue, 25 Mar 2025 14:06:58 +0800 Subject: [PATCH 10/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da9a74c..5f1f8b8 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ cd C_DS_Algo ### 4. 提出建议或问题 -如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出,[wiki](https://github.com/jdhnsu/C_DS_Algo/wiki)) 中也有许多代码讲解可以查看. +如果你有任何建议或遇到问题,欢迎在[Issues](https://github.com/jdhnsu/C_DS_Algo/issues)中提出,[wiki](https://github.com/jdhnsu/C_DS_Algo/wiki) 中也有许多代码讲解可以查看. ## 示例:添加一个新的模块 From c17ac76bd7897d01a05265de9e02a20b3171fd93 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Tue, 25 Mar 2025 21:50:02 +0800 Subject: [PATCH 11/16] Update sq_list.c --- sq_list.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sq_list.c b/sq_list.c index f698f29..3afdefd 100644 --- a/sq_list.c +++ b/sq_list.c @@ -6,6 +6,11 @@ sq_list* init_sq_list(void) { sq_list* name = (sq_list*)malloc(sizeof(sq_list)); + if (name == NULL) + { + printf("error: malloc failed![From init_sq_list]\n"); + return NULL; + } memset(name, 0, sizeof(sq_list)); return name; } From 4cab56956a84511727bc813cc32f76907db62105 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Thu, 27 Mar 2025 09:08:11 +0800 Subject: [PATCH 12/16] inked up --- Project2.vcxproj.filters | 6 ++-- Project2/Debug/Project2.exe.recipe | 2 +- Project2/Debug/Project2.log | 30 +++++++++--------- .../Debug/Project2.tlog/CL.command.1.tlog | Bin 4446 -> 8914 bytes Project2/Debug/Project2.tlog/CL.read.1.tlog | Bin 17924 -> 17952 bytes Project2/Debug/Project2.tlog/CL.write.1.tlog | Bin 2436 -> 2488 bytes Project2/Debug/Project2.tlog/Cl.items.tlog | 12 +++---- .../Project2.tlog/Project2.lastbuildstate | 2 +- .../Debug/Project2.tlog/link.command.1.tlog | Bin 2042 -> 4100 bytes Project2/Debug/Project2.tlog/link.read.1.tlog | Bin 4558 -> 4806 bytes .../Debug/Project2.tlog/link.secondary.1.tlog | 4 +-- .../Debug/Project2.tlog/link.write.1.tlog | Bin 848 -> 864 bytes linked_list.c | 26 +++++++++++++++ linked_list.h | 6 ++++ 14 files changed, 60 insertions(+), 28 deletions(-) diff --git a/Project2.vcxproj.filters b/Project2.vcxproj.filters index a28af6f..45faa74 100644 --- a/Project2.vcxproj.filters +++ b/Project2.vcxproj.filters @@ -24,15 +24,15 @@ - 源文件 - 源文件 -源文件 + 源文件 + 源文件 +diff --git a/Project2/Debug/Project2.exe.recipe b/Project2/Debug/Project2.exe.recipe index 5058dca..03245a5 100644 --- a/Project2/Debug/Project2.exe.recipe +++ b/Project2/Debug/Project2.exe.recipe @@ -2,7 +2,7 @@ - C:\code\lencode\Project2\Debug\Project2.exe +C:\code\lencode\C_DS_Algo\Debug\Project2.exe diff --git a/Project2/Debug/Project2.log b/Project2/Debug/Project2.log index 4bc6b00..abd2742 100644 --- a/Project2/Debug/Project2.log +++ b/Project2/Debug/Project2.log @@ -1,25 +1,25 @@ array_queue.c -C:\code\lencode\Project2\array_queue.c(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -C:\code\lencode\Project2\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + array_stack.c +C:\code\lencode\C_DS_Algo\array_queue.c(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +C:\code\lencode\C_DS_Algo\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (编译源文件“array_queue.c”) -C:\code\lencode\Project2\array_queue.c(22,5): warning C4013: “memset”未定义;假设外部返回 int - array_stack.c -C:\code\lencode\Project2\array_stack.c(12,5): warning C4013: “memset”未定义;假设外部返回 int +C:\code\lencode\C_DS_Algo\array_queue.c(22,5): warning C4013: “memset”未定义;假设外部返回 int +C:\code\lencode\C_DS_Algo\array_stack.c(12,5): warning C4013: “memset”未定义;假设外部返回 int linked_list.c linked_list_stack.c -C:\code\lencode\Project2\linked_list_stack.c(26,3): warning C4098: “push_stack_linked”:“void”函数返回值 +C:\code\lencode\C_DS_Algo\linked_list_stack.c(26,3): warning C4098: “push_stack_linked”:“void”函数返回值 main.c -C:\code\lencode\Project2\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +C:\code\lencode\C_DS_Algo\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (编译源文件“main.c”) -C:\code\lencode\Project2\main.c(39,22): warning C4013: “init_array_queue”未定义;假设外部返回 int -C:\code\lencode\Project2\main.c(39,18): warning C4047: “初始化”:“array_queue *”与“int”的间接级别不同 +C:\code\lencode\C_DS_Algo\main.c(39,22): warning C4013: “init_array_queue”未定义;假设外部返回 int +C:\code\lencode\C_DS_Algo\main.c(39,18): warning C4047: “初始化”:“array_queue *”与“int”的间接级别不同 sq_list.c -C:\code\lencode\Project2\sq_list.c(102,9): warning C4033: “locate_list”必须返回值 -C:\code\lencode\Project2\sq_list.c(112,9): warning C4033: “locate_list”必须返回值 -C:\code\lencode\Project2\sq_list.c(166,34): warning C4047: “函数”:“int”与“sq_list *”的间接级别不同 -C:\code\lencode\Project2\sq_list.c(166,34): warning C4024: “locate_list”: 形参和实参 2 的类型不同 +C:\code\lencode\C_DS_Algo\sq_list.c(107,9): warning C4033: “locate_list”必须返回值 +C:\code\lencode\C_DS_Algo\sq_list.c(117,9): warning C4033: “locate_list”必须返回值 +C:\code\lencode\C_DS_Algo\sq_list.c(171,34): warning C4047: “函数”:“int”与“sq_list *”的间接级别不同 +C:\code\lencode\C_DS_Algo\sq_list.c(171,34): warning C4024: “locate_list”: 形参和实参 2 的类型不同 正在生成代码... -C:\code\lencode\Project2\sq_list.c(116,1): warning C4715: “locate_list”: 不是所有的控件路径都返回值 - Project2.vcxproj -> C:\code\lencode\Project2\Debug\Project2.exe +C:\code\lencode\C_DS_Algo\sq_list.c(121,1): warning C4715: “locate_list”: 不是所有的控件路径都返回值 + Project2.vcxproj -> C:\code\lencode\C_DS_Algo\Debug\Project2.exe diff --git a/Project2/Debug/Project2.tlog/CL.command.1.tlog b/Project2/Debug/Project2.tlog/CL.command.1.tlog index d02a696ac866d2792f760be0c048d72f8f8bea1f..feca5c75e7d5f6a52814c2c2fd72f789f16ade00 100644 GIT binary patch delta 327 zcmcbobjfu?oZ#eFOiF^z4Dk#u48cIsk->+-oxy+dNhZb35}avFSf!k?h;C$6+-$>) zRl`PBY#MsGB{$2k EjBG=_H=Vi WYG1ViEE z-*S?hO)OS%POg!YLN^5@Ir)H`7P|Q6-*PW8P5&*YKDj|eLlVu|3^5G842}$*41Sw0 zimc|GEWp;VInHSYGrFOZQ$-Xfm&qw$h_{+sVu+nL$MDH!WsA$a8km*`GXyfkGxz`< Q5DW}OJq8a3UIs1(0Gsbjn*aa+ diff --git a/Project2/Debug/Project2.tlog/CL.write.1.tlog b/Project2/Debug/Project2.tlog/CL.write.1.tlog index 864d760aca0450acb5759cfe636bb23998125f0d..fa359a30deb1aa2d7ae04bca11270cbcc7f7e36c 100644 GIT binary patch literal 2488 zcmdT_%L>9U5S+8%uM~WoytS#6KD5=UAQbx}e!DvHl2~$(#4VN5kmv5~PImHq+@P>Q z$F@d_EqfK)y){ xoz6A*@x?`m;jJUuWEAp(VXaZ@J zOblhHSjB8|k$g;T W#(RKyat^Z;kkc|bLQp}*7Z|nyzz}u<(m@Pi40;T% M3=u%g%fQ6|06oS}hyVZp delta 192 zcmX@6dQN$Q%48F6At2V8{EACxvK5mOly8H?mYckWQEYMmqZU*S#P@--wU~_HYz1D0 z&Fh%{u|owwhMGay32;Ra!#F0N;(=KXGEi%B0XKrbi^l}69%$&~bxbmobp)F>%kW)b No-D#FFgbu%0{~ZYHDv$* diff --git a/Project2/Debug/Project2.tlog/link.secondary.1.tlog b/Project2/Debug/Project2.tlog/link.secondary.1.tlog index 3d021ab..ba1f9da 100644 --- a/Project2/Debug/Project2.tlog/link.secondary.1.tlog +++ b/Project2/Debug/Project2.tlog/link.secondary.1.tlog @@ -1,2 +1,2 @@ -^C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\ARRAY_QUEUE.OBJ|C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\ARRAY_STACK.OBJ|C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\LINKED_LIST.OBJ|C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\LINKED_LIST_STACK.OBJ|C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\MAIN.OBJ|C:\CODE\LENCODE\PROJECT2\PROJECT2\DEBUG\SQ_LIST.OBJ -C:\code\lencode\Project2\Project2\Debug\Project2.ilk +^C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\ARRAY_QUEUE.OBJ|C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\ARRAY_STACK.OBJ|C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\LINKED_LIST.OBJ|C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\LINKED_LIST_STACK.OBJ|C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\MAIN.OBJ|C:\CODE\LENCODE\C_DS_ALGO\PROJECT2\DEBUG\SQ_LIST.OBJ +C:\code\lencode\C_DS_Algo\Project2\Debug\Project2.ilk diff --git a/Project2/Debug/Project2.tlog/link.write.1.tlog b/Project2/Debug/Project2.tlog/link.write.1.tlog index b07d1d122f90ab52f91c68c44a9a385183beceac..94031898c004ba29e3ce52806058611a1693dbb6 100644 GIT binary patch literal 864 zcmchV%?iRW5QOI}_$obk^p>PWw6)eoK_S=|@!8ccIhA@7RzfyE`!ku%yk8FmZI!Sm z)oR#v*nV~nn(#!d!?z xw@SH!_^= ^&O^;+?7H>OSP0ZsT) F`vdLhfLj0n delta 138 zcmaFBc7bhz%48R2fyqwHLX#Vq_$Hp ilO@yu diff --git a/linked_list.c b/linked_list.c index 11ea29e..c53bc05 100644 --- a/linked_list.c +++ b/linked_list.c @@ -76,4 +76,30 @@ void print_node_list(node* head) head = head->next; printf("%d ", head->value); } +} + +// +int get_node_list(node* head) +{ + int i = 0; + while (head->next != NULL) + { + head = head->next; + i++; + } + printf("Ϊ%d\n", i); + return i; +} + + +// Ԫ +elem_type get_node_value(node* head,int pos,elem_type value) +{ + int i = 1; + while (i <= pos) + { + head = head->next; + i++; + } + return head->value; } \ No newline at end of file diff --git a/linked_list.h b/linked_list.h index d095e8a..9419e19 100644 --- a/linked_list.h +++ b/linked_list.h @@ -36,5 +36,11 @@ address_node *find_node(node* head, elem_type value); // ӡ void print_node_list(node* head); +// get length of linked list +int get_node_list(node* head); + +// +elem_type get_node_value(node* head,int pos,elem_type value); + #endif From 8db20e924d660dc43d389dae580a13df3608b016 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Thu, 27 Mar 2025 11:38:12 +0800 Subject: [PATCH 13/16] up linked_list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完善: 插入 获取length 获取地址 --- Project2/Debug/Project2.log | 25 +--------- .../Debug/Project2.tlog/CL.command.1.tlog | Bin 8914 -> 8914 bytes Project2/Debug/Project2.tlog/CL.read.1.tlog | Bin 17952 -> 18184 bytes Project2/Debug/Project2.tlog/CL.write.1.tlog | Bin 2488 -> 3270 bytes Project2/Debug/Project2.tlog/link.read.1.tlog | Bin 4806 -> 4226 bytes Project2/Debug/linked_list.obj.enc | Bin 0 -> 17383 bytes Project2/Debug/main.obj.enc | Bin 0 -> 11692 bytes linked_list.c | 44 +++++++++++------- linked_list.h | 6 +-- main.c | 24 ++++++++-- 10 files changed, 49 insertions(+), 50 deletions(-) create mode 100644 Project2/Debug/linked_list.obj.enc create mode 100644 Project2/Debug/main.obj.enc diff --git a/Project2/Debug/Project2.log b/Project2/Debug/Project2.log index abd2742..6825cb4 100644 --- a/Project2/Debug/Project2.log +++ b/Project2/Debug/Project2.log @@ -1,25 +1,2 @@ - array_queue.c - array_stack.c -C:\code\lencode\C_DS_Algo\array_queue.c(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -C:\code\lencode\C_DS_Algo\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 - (编译源文件“array_queue.c”) - -C:\code\lencode\C_DS_Algo\array_queue.c(22,5): warning C4013: “memset”未定义;假设外部返回 int -C:\code\lencode\C_DS_Algo\array_stack.c(12,5): warning C4013: “memset”未定义;假设外部返回 int - linked_list.c - linked_list_stack.c -C:\code\lencode\C_DS_Algo\linked_list_stack.c(26,3): warning C4098: “push_stack_linked”:“void”函数返回值 - main.c -C:\code\lencode\C_DS_Algo\array_queue.h(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 - (编译源文件“main.c”) - -C:\code\lencode\C_DS_Algo\main.c(39,22): warning C4013: “init_array_queue”未定义;假设外部返回 int -C:\code\lencode\C_DS_Algo\main.c(39,18): warning C4047: “初始化”:“array_queue *”与“int”的间接级别不同 - sq_list.c -C:\code\lencode\C_DS_Algo\sq_list.c(107,9): warning C4033: “locate_list”必须返回值 -C:\code\lencode\C_DS_Algo\sq_list.c(117,9): warning C4033: “locate_list”必须返回值 -C:\code\lencode\C_DS_Algo\sq_list.c(171,34): warning C4047: “函数”:“int”与“sq_list *”的间接级别不同 -C:\code\lencode\C_DS_Algo\sq_list.c(171,34): warning C4024: “locate_list”: 形参和实参 2 的类型不同 - 正在生成代码... -C:\code\lencode\C_DS_Algo\sq_list.c(121,1): warning C4715: “locate_list”: 不是所有的控件路径都返回值 + main.c Project2.vcxproj -> C:\code\lencode\C_DS_Algo\Debug\Project2.exe diff --git a/Project2/Debug/Project2.tlog/CL.command.1.tlog b/Project2/Debug/Project2.tlog/CL.command.1.tlog index feca5c75e7d5f6a52814c2c2fd72f789f16ade00..9877c831115c4491300bbaa34f8a2477b4a13569 100644 GIT binary patch delta 31 ncmccQddYP|llbO5sdr49brhB{O^y>Z+ngi*hG}z*>?|e#*!v7_ delta 39 ucmccQddYP|llW#CwmhcE7vwW03rJ~go+nbp1Y{&^wosVGwAo7P4if+`s16ta diff --git a/Project2/Debug/Project2.tlog/CL.read.1.tlog b/Project2/Debug/Project2.tlog/CL.read.1.tlog index 84779e6c0c9f841932b6e4b209a1be50b6859016..6ea31f5215cb650b8b1de53b22912db83e0afea3 100644 GIT binary patch delta 291 zcmZ9GJBq?!6opR^WFjaQk}|!Gh>sBLjL%3W0sn|bf-4zNrkX-*?gF$`ER<}((pp@F zxQ1a40U3~6oclQ6V5nl6&c?vl&UQUra3fk(aCKB@O$a%a{2rv$7FQ z;lf830j5xhF@VS3L7VDgP7SF6Ju&YA#_8 hL!ZtGnGh9vJt)zP{nAOl#~6}S zyv<<4BKgu9s%WCdO^3{c?h3PbtUPkuwRm|?s1T*UdiX>=Wkcp1GlP1k&(T(wVs@1* NoMT3QO+zl`#~<5rI~o80 delta 79 zcmeC^V_eX~xZ#q><``WauFZQyqPQk^n2T+m$2Es@vH)AdW (Xj*7`@>~WJ9F~v;IVy>CY!^|@| Oiq&i~2m2m0IS~Mgt{80q delta 27 jcmX>mxkGq^9Q)*3T+1eNu%DRRz+ExfkHc*81@<}sm>vqG diff --git a/Project2/Debug/Project2.tlog/link.read.1.tlog b/Project2/Debug/Project2.tlog/link.read.1.tlog index 75510a2841da9671e4b177ff6e8bf647ae0dc3ac..4190c564fb52295829408b569adf56da3af3a576 100644 GIT binary patch delta 7 OcmX@6+N8LlNdN#0fdbJ0 delta 162 zcmZotJf^y#NnkP$iyx~KgC~RE h6o1N$&P$0jln8_ z;vNkC48aT`KyipV812ju1{4hf>Ig>GXG2JzFHn5|gA0QbkPZTx0kxBXmw}4`0PHjy A{{R30 diff --git a/Project2/Debug/linked_list.obj.enc b/Project2/Debug/linked_list.obj.enc new file mode 100644 index 0000000000000000000000000000000000000000..0f64bd8fa7f55e91982b1cd22436f4363837064c GIT binary patch literal 17383 zcmcIr3w%>W)}N-O)TETQl=mxOL7t^;T4(`H(l&)c3xyWMHF6DU+6MYENh`2`(aOuN zE});XF7j|$0bTtR5kXN4A}An!A1f+~;)*<6@PP}TxGT%|KQs5<-lS=*!p`qEcg~zS zbLMgXbLPw>H$QA3yZHK-Ws}kvdy Ave0Ss2PsL5{q_&^o;?324o(V `H$WgnY^j(C$*CDgDuaN7AB$Pgyzwt)2jYxs!Ih4L`(6_ lGGsa>3b~f_%|&q~WKPL)E%k31^o0*#tYKj5`WB-26l7-IB;?v7 z2{m3n^lgUBpus|}rT5`L@zano3=wh>E$AzTJ`-e?4i$1OjrR@|{|z#?3=?uK&0hxe z)j($R@YePDP^?R0tPYVvYk1xYnLf!vt|dI*g5uvn=722M()$>O{+)$PLaNZGj@MJ- z@X@5nftF*HETix&vB{RCAh{S6-rq*KRc(-?_q4tZa@6j|ka9j}VqU>-ls=Qbt&rO; z%VPLgA2bfg6$i>SLS}EUoUpsaioQY+hh-Us$L+4Oe2#Zyn!;kqXsC}#%?d&fOdE|O za%{QQY5B$Zd0C_T7Zgp;o?4vKKae{)KWCD)z*YpdEhn$oIw>c6@}%OtNz-h`5snI< z%Twj>xvCtMuF)1r$}V>~=j2vP7N4?7)ZFi!Iy~0(+(`+fHNU~OxRoe?a)w8ijrP_G|_6m2^99M}{;r9BH zs%On+quJOv)=$UUvrcR%`*A63hnyC;ot|oMb*axdXzF0& ra zxIEM@_2U~IV>hwrI3qE5kaE&Yxuz6Ty5y{`a@Kl0=+!*0qry_odIbt*BxmNP #|Mewff6H=v(nPD(vlSk$?Gd|S5x0h-DMCD8eDd+)if$C#ioki&E+B3Cs1#e zDc5E)C7Xo4=895NQgX5~GijE1&!kF6MMbp}f jo4R4Uy*n){$m*)npo zlC2{%s8d2iVqjZVYkGQac6Kr}sF;JAASqK$#;DZvw2S~LCyQZGas2?MyPf3@kK}_V z5Eb`uEUX$(4v0p@twqLB0{_eFl{k}X)L?DYIXJpmEb{FjBw 6@X_wa{_n7_{_jTy
=Z^c)C2Y22LTD%XzKmOWn>Szhd~@c5%YE z^d)PfemFW|hkfvUHFrnF|8&)ladWwoYfs;|x9+iFN5bmgk6-!dDyz*sw5ns$+fU4> zDlsqZew?vhm>Xkw ?kIBybGXMOUc`q^61v{rPe4TS MI+wAv zTyFLDA#eRFYvrT8x}U$ad+TZIwoyMu7>h6bx$3nm9nRf#ego_vm+Q0T$&*8>zhC|A zya-41{@6hWw!GlUeEilmTlDcAdiFRU&zKzmHHI4vd3(M+GH3smq$mD4=Kcly; p#%sM;MDrIi! z1IHFPSWn&uHUL=qGLNIum!}faRPAyIz4oRpYr5N8>!>gm`D#(ao|>GR zYR9%!SzG1y&9hI>wij1dS9tBTecMyglG02`rnHRY47*#N9%1uBH1TVu6~^&;Xi}zC zY!X6a3wyrC;3he*{e|*rzm7u)q3Zg*I@J?s^9(hI{PpV%+?o)h{lzF!-o3nAhfsO_ zx*X`T{YRS;Ze55be)R+izXuug5(wQkz(Eiz!OKu0x9$ zYw#FTl>uSca*L@-zxX*J3foj9%a3~&eid8}hC490b?aqH&)xz>7Xk+Mj!fy ?!bw(z89F5;$+4OzGJ MR!^T_Gg*Wv;Cmx{>s1(%9Ngk1%+u1=kIuv4u<3yCL$_< zZaTCf4h;AzjAZHXMmHmwY#cvCg5-hfkPOA9U=48=g`XTxlN~DD7teHTGAX7P{aeKL zY=%r3m|dpy3|+tXd?T_&({F9KVtQxCA%uTCvlAS4mL4m1&{LXu`@MS`L5w-ixecf8 zc#~$78i-`Q@tlvCz;49z9?mo2xq$ORO$=SpH6kiu0!G~xT~#J#4+^q^CWh+Jo5c+l zi&V#LmBax-J~q~Pa7rkZs&QbhuJZC3YJ@yR%hjt_X);7Gu85DN<1qDD1c^@Bs8r;u z_BhI1I8U~VljS8T(N^Uw@;RJy^5DdP@c5v+U7UQQ8dPqpDv@XZd#KJ(8bC^8C`6=j z4nw4X`xZaf)A2ihf8_CU{4_>@!%ywcMieiPDDm=$!rH-;W*ciqru1wVC?VG
z<$bR5XdMeVTE{})&x4`iVuLNAu%RG!O2f41sSUQMLIH>I5mOpsr(UH6%If!a8*`Df zTS5)3axH4o$@Xv}osjaF6U!SV$lZ!z+PC|`n 4L)>C80J_RoreN=~9#zB}l2^~CymAEQgK9{&n zA;V5;8xhk2%oc;$ik8v05|yj4DTb^2#|X$%MCb^i%cx31K38Q8KoQv{m{HddLYOpy zS%D~JtD#ojU CT?g?_S+*h~E5kYXS9 z)4V{IBan0n1QI0>NR*y!!c*{`ktyueD(|4mJEQW>sl0Z;ov3?*OzAm31us$Maa4YU zY8;hkcSeE?fy#@sqkKnt(-9l7U{qC@aX_uFSeV&8={JDbx+FJm>sgc8< zhVe7-9|n;c#7H(0PXT&*flE0r56>#Z1itMwaNZ`Bw;hyNI*p)2-M^|-sHO7>N~u$1 zM=2y>cC||<9Is(Skm05}1S6WkG9XZduu|N!G%Xxb+K4!)*}|bULCw*cD0ewZuxSXJ z?E|yUQBmu{(iO{Q9Ym`5B08^KL~Zd2sDlVCETAExl+8f{F>Gd>$Vaj@Jf9i2O)gg# z*!N&OFEc5jIrt8dHqniU6iiqyyjgj9r6GSa_}Eze*+}s|xnUoLv>5qJq;N0r`vdcr zA{~RY0_j+!wMcJ4N{)pY>2jnNq>m!CB3*|R+q8cJQt0+ShZHFBzlGF>l-^A)(rBc0 zh+_E?C6+HydiJhdYGD5>Q+oEb%DbTQ3_yXX+fk ybTJT%mFg78ahvfFLDcK$L(1 zQF^u-Pr+LwQ+l>T8kQK6esiq1KdA z*)Q=K9!3L^j24zKkk{rjkOeRWp@McM!XE97Pc=t{_|2ttuc4XoQ%s!?I^Eak8Ymto zpGD}SKz$~p=n?IR6fj2thH4t}Ko6UabR^OlNMUps{4f7_q;xi#fb@2xi2Q6sbD*4! z=7JW;B1#~OC_N*yBzRk8O3x0fydx^_qRP9h^4g3nm=)T`$JnA5_NZSN#eAXQ^%*ZA zOhL}4JJ*gNC@jn&)c=`HxdtK&5EB@!xJ!tMh)SRlk`gku6oUQF55Y?d!V=XXER`T` z3V|iD5&l9j#b|cYnrbiKSxGm6D{yDMUT|aILp9Bg5@=lCAsP^AY!qezH#AlzZ;Vdl z32!L(k3ovf&!2;|3~2#U;MYGHsT(P6kXXrn3F#c9q_YAk&GkG)fjgoE?ugR!?M(2F z%5r*s)gyTH{)8Nz#RQMeNP^ck+%^0Xf3q`SM{Xv;Z@(o1%@bhTYTSlFoTfO~Bdq7V zCXcWd`IbSt5T%C@dFx1nLHZGR!JZz~p%;f2!DbPVcnEXj_N8ebB&Cgr&5uar*hQhF z34V0!R?b6JuDgYjwrr3bJ|Q cda-gkvBF=Ut!$IEfPABudZ76bjyUnbI>dg@X5i z%A+0%9+^i`mjR}NM^{IJM<5nF0 8 z8lu*9AA|hwInRQpaNMSWYT1s_hR}$p*s)-DelyC_gEm{LL#}ZiVtEsI_&p=XPLu1_ z2oZ|Sz4~UZTU+c_>yAAEqYzOE)K3BiY!RL2c!1*-;MPw>o)#Lw;7>z33F$bb*f9Mx zKIr2Bxf`?q2vGtcM2QP)!FvjM!P_HK2DVS-omF|~RUWr1v{kfv8S|hmT3n_S&Su#6 zreL!S3%;CD3{NZ!&wd-VpzevJUxS-o$kI7mdr3&kW)A1&;wjLQ52_L|fnQ#?j35F% zHK8CV_|D@Klno0)5Y-{<-ig>d2to8$srXpZ*oYW-;XyxeDEHLbJ83dCbf*z;|4f3k zJ5poPRF@b3biBqB0d0=BUf`h@x~-ZcphOMS9PJ@m)a?onG)HeBKMZn>NO4SHyO9!F z_aMC!>6=KSk kG_*IuUdjP^CbqYG>y$C22G zYAya|Mi#0ddU;e^Z4n)PT1E|SWBB`xLP{an?rZ}uH3&6Srz;})CnZg&@wjR#98S$G zb0f+rHa9wfx6IAAtm|WgGSIdXsL$Ua((0f$PN6Ss3XOvt`2I+Y$kUkmA*HwOMHFwH zDDl>b5(hxRBd cD@xO7v{+$J ? zV4XXUaoJ4|-T&Ui2hMbwux`pjKlK2=&3`7YbEe?0Q#B>C*oCK!8(vs3?$v$wjGnoy ze8#eihko~duWwf@D7b6xu67qr)hsft-L?1+o2*mLoUrdNJ=^<+zc2mESJ8#8`@el) zb&oBF-nR7paCz>b=;2S@(|&8^Zg=-9R|XdyC>y* Tlb=&?w{C;Uh z{Eq{djp_Z>>B#RJyKK-8ba#Gw(1{bp`;JNvR*gDw--$J^kNQi@sV4{A=(_{o %f#(UUB#MYGcA1 z4=;M}_vY{3eXf4X {uPKWyB{+daT;)KQrjn50%$o zapGUpN$!##mqvtLy-L5eTS{FHUs7`N%J4A1%&DucNUAL1zrzcT_Io230~W4ZtSD?H z)qVw} (F(*0q&z>N7%2WFW z`S^9KQAGWq5W(kUw*Tl(kyoDDw)hU*~+@*>r?#ph8s79*gU zpb*L1+I?#NBO !|3f%(DV8uk1y#Z^2$>? zF8=Oy 4?+*$v<(k^I;(4vP^hEsAACF=4g9`S;q6IG^(FAQ &xFW2949W9$Yh@CQ1{uZINFQuA{Hml=szzw-skyv|CdJq_(YY zycWG0!u&>Q-$$aY_lz?xfT0Q6wz`8KuFKH0)s5GWO-@owkX%#S7Wo6=Iv<{7LCn+t z1#Hk-{`;+K>6Tm*v~AI8Av|C$_uy@Lcl7-)O%;&ZwrJ^v>u#YZ;{Wu&!z#w*Jx;%c zYJ;||-Y5vy(ck`*ImF+hz+3X>PBM2vVKL+=L^2~E2QVmeh)W}5?3HGmV=^a-*OJ74 zbhvB}&LQ%2vs&Lb m#WCbO# Vc;YJ!Cm4)UTU1qBT8cSr63;)MEsvNzW@|6N*~XQzz@8 zT7i1{aXn-YC`|3Py`VKcTV*{|D^O2=aGLsakK;YyTAf}}9S{!5dZ-rZY5Jn_MsUJ) z)Soc52I*Nle?^d;r{eZ<$9XNGNB-h65v8H@9EwZIr<#GGkF1B+Qg*9ik{N&)t}6@_ z51C8Se4jax*Gg_0LdY7#Oh?O7E8ikYQqbpzlGOZ*LrDtxk)b4o_^wcre(qC3eDB%f z*MpMO?1Mo`YWW*MNoxLCAb2f)35e0Q{PCY8HUHiZBX9PJpCq;LRUZ_D{*X^<_203Q z WjzQvql{*5^?-)1hwbG&)F*=8;=PcSD=9FM%! zoH(f k+&J@iYH#91Q5EA5bEizDY7hgbRQ;m- F{{a$ZLHGaw literal 0 HcmV?d00001 diff --git a/Project2/Debug/main.obj.enc b/Project2/Debug/main.obj.enc new file mode 100644 index 0000000000000000000000000000000000000000..2ce26079e2b36eb295e855030548229c14fc0e69 GIT binary patch literal 11692 zcmb_i3w)DBwx6b@)C90CMNmNkb`=CmUTssrZPGljrG-KZl}q3wP1DlSBqd1;#aE%A zLe F_r>r7T+pLYElGNvS-QWmP#V8*4Jl0&kv9 zWo#SxW@U)TXe0)fT9D=PH96{BjsV|PAO_GQEP$^g%kNz1&vdy1a4!&}qWF}lrE{Y7 zt^=P6eETI{s;VIsdZXlx1AY=b!v=ytNJ5M!Z+rq{h2U8>h_f*Tl6dl}fS& LG6pcrINd@^vS#1Fv1zGIsM|k?%?*@#JlUyxrh&Tqp8%C(n=9AA-j+ROGu{ z{T74gGi8)KZ >R1#XlcP_R z$}wh()i|xVytuGn?C_GZ>87dW=HZd( XTx)?K4Cd0Y*(^-eGJk^U}>wi{WW zG$m*;2xgtus#R;V1&7D&X!Lqfn`WQA-Y}O9j%3uU@~mpB)+~r`hep1&>P*&bjV4=Y zvR65)eJDOWlEGp%tFz5!lhEYwHo8$kCwP>RJh|HJyd0H9jk>_8dHvwHIg%qsRiMi* z(5V6(g3n)7>!G?=*VceN>f=mSqc&HkwglN1aDFge7b&+uYqe;#Dy=9lR**)mHW%dO zQ7iG92`+nmy~hE@sCLN9&emn;n9xf8Dl|l_q`W+%#jLXy1SR>LcCTYD7)L}_NnfB> zYYVJ7K}M>3eQjl|POYXur`F_}gnD$lpV~gEQWm|nKxNF)Q>8=+QJ=5Ynk^b_u3B(< zy>1T#jEt;{R;SkHT66M3od;1~7+5T;-e@Y&sIxV}YP*~+M? !n}fvXbMSt)R*R1^!hxD$rP$yX5^O`joH~&lSzfPa?f*CA@Px! z4T U#_KKYEjL z?Yq0r+&6N|-*-Oz_51$Te;*i8%-BTE_oU(tYt0{?|3AHaUdxeX`5Sf|9=~_h+ZFo9 z#?{Q|y86Tb#vbQ 9 8KwbjBvg zNN?h-$K@55K3{rj#dVMMwV!QD>wQ3Z;N_Rn?wodd(1qhGS{a+m`I6t+Jhrrd^2Lt_ z*0JY)J9Ass)Bk(V_>0w!Y5wdRKX~M`y^L+)eE-<`?bBN~{h{yVt{Hj8bE})@)HnU{ z iZ97)nd8+wU z#wyWw%Eab*!*6JLcxCV9OSfHJe)Hn{PZ?JpNK>S3ShH)>?)yf~I>FcrobSDjRWsh! z&mF|xpS`YOe05o||GC8HoudwJAEoR456fp(#`?e#m5GDio|<%3#j4irIqT&QPMeW& z$kw=^_slgj2IlYGZkaJ{4r8-9-?~5E^yc>ktA025>dtdJUpZ;qntMJ;S>E-Gd&kAT z|C!(UB)*sPUDy89v70WH`7w|Mg&tyteKPw#u}HJxbZ!B{0K6TdpT zYU$wL{xD|H-KP>ao~wNKWck}mPTsG}S@*Jg@7<4W%!93RKBb~?*B1xo?Q73^{JU{W z@7SCEO74+!`$i7guyRP=)@M#+G4?mkw|CM5=RLjd{^#~2|Bfcx=VSkM=dq$uL*M%F z;TgVRUwwFd0`y|_qD*{wYSPz>ONQKj$EJ~6hZtA?_4tC}U6mbM{x f=u0D8w>*~E9o!j7^Iegrb+4x@0*H!FVf8R;}g<^Z^ zc+Hy)<$p?l<%LbFKEJ8*^lYP$w+V~6GqC&Bv=YN)k6FFOYj-KFn2&wR5exM>BW)G6 z?kdj$pK>DHwoR?F6}lbujaUm0dX9mHQ zWE?HOz!GRh5l2$b)fWrrIP!mXO@o%^bYZpBlM xo9g!$Gy8wy~z;L*Q6*p0GrUV7Cz%nID&I&-$;fI1*B}&fb zgTm4fSffPA*`uKPbLT6Q7GfToK)n jMgq(l?YM(szzVq=3`h7B1(?FI$EqkIreKZ-jBQkbVQA*m*>W zokx_MJ%uN=wt_t?QF68&l!0R%5+!GcB}&1L2C*cJVFPj)xf1nLjG^spnLqdytaZ >|&);&qfE#KD3LYdCG#8BpFT~a7> zur9I9@~vp4t$R|ITlTl%N9H -C~=GtC1-z?-YVEZ ziITG~gBbZWk*^ >9gF@*=Ff1tz&H^ zDO1|c)+Iy_g1~S}#W37w>4Y4HLB_`g$&VTrqPHK07vi`W56Xy`% g2%5P9q#RF_JBlGGVIIhd&~Fz+_=0JPZz)ELm)+1X4ok$g86nxW6E5dt#);zJdH` z;2lWGlk7xF3(s9h=OEpUl)jq$jcAEPiIzx|oV_W%Rj{`tO3qFMu}_0oB5ER*?JZGq zMl*nj(H=#V_nRuY5|Q2N#Q%EA3XiwGYM7ig*c*LL$Pxot1X-vUXoMy6UN2$;28?ss zv=1)*VB(5X{fjnCdGJC8-u~o&c$*w*oN+c(RkE( *Eb;hv-m z--U8Sg Po?6U_h$Sp1A~ql-D `I;`ssyjgJsQJ9S#9i%9rYAl{BL zYC8(kPmijhnG&ORX&vn#!$P>V@V1t%!&{O_A&IwtUCT#&8!2M+4A;f`LpF|cW6yWx zgP0^q*Inxtw-awDgzMscCZlUe)an$Hxvrfj7OfTYfoHfb-mkJM&du11HfmVXHDSc7 zn*#h|8m^1?y^O9X1$3owUCm|JtD;JUU8myqA?pAG^{4vfw#P)PR-gHV7Ik4ETo< z*~Tzka<1#tH~r3s6#*IkUEI!OGzU;?=1>0~ixK*+e^)$_k0dOF>*BT;@m+nmF5hcI zX<-=^t|5U4$xO**V oq z7~t6u!9%a#kdUMx&%qd;V=>5AF-QUonrw%HjD=t3;-gm HCSJyFjN<6sT0B z96sh{gj4uo^t0bzPR>k84wZ_O!##y8Fkdzoy|CkQau!Q+s1(TwT`J@LMMi!g0Z|O} zT~91pNlS*P@Q5Tw^h#Wgbm@$Hr8silP0K2d5`yf@k{r>ONw!)}eB77GN@I(}AX#Bo z)VRNsZH(cG1@=L+aG7gaf)I5ROAul&UkO6o`&NPw=Zcje{MfB3TzTvEB9$P-+?^7H z?ypM;LhKDGVBKDd!q;|x4@wYXuRh_+V{SVMLd*px6ur!yCTP9PH72O&_U4ixT;{S8 zS~})_k|1<*B?&eVbqh(j?75;K)VdnLBG~B?5H1D@)s1ckOi6+R|IWKy9(V9q39rLW zm?U0bv(N8z;c^kq6~)_2LNzWbh@|22_a7lJ_WmQlspTf|-lWCXAZ6*;vcQh@wfMGd zZlfQUA>1rK>eSPaug=fE+@~81d4@a&9+N>( Ml z4U?>sO%o@UOfc}}ettGz?}M!%KPSkQU1}~WD6p8U2EGe0MAbUzq9SV_^f> next = head->next->next; + new_node->next = head->next; head->next = new_node; } @@ -54,14 +53,16 @@ address_node *find_node(node* head, elem_type value) printf("ڴʧ\n"); return NULL; } - n->n = 0; - n->p = head; - while (head != NULL) + n->n = 1; + n->p = head->next; + node *temp = head; + while (temp->next != NULL) { - if (head->value == value) + if (temp->value == value) return n; n->n += 1; - head = head->next; + temp = temp->next; + n->p = temp; } printf("ҵڵ\n"); free(n); @@ -71,20 +72,24 @@ address_node *find_node(node* head, elem_type value) // ӡ void print_node_list(node* head) { - while (head->next != NULL) + node* head_1 = head; + printf("[%d ",head_1->value); + while (head_1->next != NULL) { - head = head->next; - printf("%d ", head->value); + head_1 = head_1->next; + printf("%d ", head_1->value); } + printf("]\n"); } // int get_node_list(node* head) { - int i = 0; - while (head->next != NULL) + node *head_1 = head; + int i = 1; + while (head_1->next != NULL) { - head = head->next; + head_1 = head_1->next; i++; } printf("Ϊ%d\n", i); @@ -93,13 +98,16 @@ int get_node_list(node* head) // Ԫ -elem_type get_node_value(node* head,int pos,elem_type value) +elem_type get_node_value(node* head,int pos) { + node* head_1 = head; int i = 1; - while (i <= pos) + while (i < pos && head_1) { - head = head->next; + head_1 = head_1->next; i++; } - return head->value; + if (head_1 == NULL || i != pos) + return; + return head_1->value; } \ No newline at end of file diff --git a/linked_list.h b/linked_list.h index 9419e19..15eb8c7 100644 --- a/linked_list.h +++ b/linked_list.h @@ -11,7 +11,7 @@ typedef struct node typedef struct address_node { int n; - node* p; + elem_type * p; }address_node; @@ -25,7 +25,7 @@ void delete_node(node* n); void replace_node (node* n, elem_type value); // ڵ -void insert_node(node* head, elem_type value); +void insert_node(node* head,node *new_node); //ʽڵ int get_node(node* n); @@ -40,7 +40,7 @@ void print_node_list(node* head); int get_node_list(node* head); // -elem_type get_node_value(node* head,int pos,elem_type value); +elem_type get_node_value(node* head,int pos); #endif diff --git a/main.c b/main.c index f59126d..bae0d69 100644 --- a/main.c +++ b/main.c @@ -1,9 +1,7 @@ #include #include #include -#include "array_stack.h" -#include "sq_list.h" -#include "array_queue.h" +#include "linked_list.h" int main(void) { @@ -36,7 +34,7 @@ int main(void) - array_queue *q = init_array_queue(); + /* array_queue *q = init_array_queue(); push_array_queue(q,0); push_array_queue(q,1); push_array_queue(q,2); @@ -46,7 +44,23 @@ int main(void) print_array_queue(q); printf("----------\n"); push_array_queue(q, 666); - print_array_queue(q); + print_array_queue(q);*/ + + node* q1 = init_node(1); + node* q2 = init_node(2); + node* q3 = init_node(3); + node* q4 = init_node(4); + q1->next = q2; + q2->next = q3; + q3->next = q4; + //address_node *n = find_node(q1, 3); + // printf("%d\n %p\n", n->n,n->p + //int e = get_node_list(q1); + node* q2_3 = init_node(0); + insert_node(q2, q2_3); + print_node_list(q1); + delete_node(q2); + print_node_list(q1); printf("Hello World!\n"); system("pause"); return 0; From 41744c2cc3aad4357e1bd72f2ccd7193a604ba68 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Thu, 17 Apr 2025 09:38:24 +0800 Subject: [PATCH 14/16] up queue --- .gitignore | 2 ++ array_queue.c | 6 ++++-- main.c | 45 +++++++++++++++++++++++++++++---------------- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index d97cfcc..21b8bb3 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ Mkfile.old dkms.conf /.vs/Project2 /.vs +.vscode/settings.json +*.recipe diff --git a/array_queue.c b/array_queue.c index 4b5b5e4..fcc66e6 100644 --- a/array_queue.c +++ b/array_queue.c @@ -50,7 +50,7 @@ void push_array_queue(array_queue *q, elem_type value) if (full_array_queue(q)) {printf("error: queue is full[From push_queue]"); return;} q->data[q->rear] = value; - q->rear = (q->front + q->size +1) % MAX_QUEUE; + q->rear = (q->front + q->size + 1) % MAX_QUEUE; q->size++; } @@ -73,11 +73,13 @@ void print_array_queue(array_queue *q) printf("error :\n"); return ; } + int j = q->front; for (int i=0;i size;i++) { printf("["); - printf("%d ",q->data[i%MAX_QUEUE]); + printf("%d ",q->data[j%MAX_QUEUE]); printf("]\n"); + j++; } } diff --git a/main.c b/main.c index bae0d69..5d1f060 100644 --- a/main.c +++ b/main.c @@ -1,7 +1,7 @@ #include #include #include -#include "linked_list.h" +#include "array_queue.h" int main(void) { @@ -46,21 +46,34 @@ int main(void) push_array_queue(q, 666); print_array_queue(q);*/ - node* q1 = init_node(1); - node* q2 = init_node(2); - node* q3 = init_node(3); - node* q4 = init_node(4); - q1->next = q2; - q2->next = q3; - q3->next = q4; - //address_node *n = find_node(q1, 3); - // printf("%d\n %p\n", n->n,n->p - //int e = get_node_list(q1); - node* q2_3 = init_node(0); - insert_node(q2, q2_3); - print_node_list(q1); - delete_node(q2); - print_node_list(q1); +// node* q1 = init_node(1); +// node* q2 = init_node(2); +// node* q3 = init_node(3); +// node* q4 = init_node(4); +// q1->next = q2; +// q2->next = q3; +// q3->next = q4; +// //address_node *n = find_node(q1, 3); +// // printf("%d\n %p\n", n->n,n->p +// //int e = get_node_list(q1); +// node* q2_3 = init_node(0); +// insert_node(q2, q2_3); +// print_node_list(q1); +// delete_node(q2); +// print_node_list(q1); + + array_queue *q = init_array_queue(); + push_array_queue(q, 1); + push_array_queue(q, 2); + push_array_queue(q, 3); + print_array_queue(q); + printf("----------\n"); + pop_array_queue(q); + print_array_queue(q); + printf("----------\n"); + push_array_queue(q, 666); + print_array_queue(q); + printf("Hello World!\n"); system("pause"); return 0; From 85982c322489dca159d9aa4b7ea46f3d67e80e04 Mon Sep 17 00:00:00 2001 From: Jdhggg <24016020834@stu.nsu.edu.cn> Date: Thu, 17 Apr 2025 09:46:37 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=9D=9E=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/VSWorkspaceState.json | 6 ------ Project2/Debug/Project2.Build.CppClean.log | 20 ------------------ Project2/Debug/Project2.exe.recipe | 11 ---------- Project2/Debug/Project2.log | 2 -- .../Debug/Project2.tlog/CL.command.1.tlog | Bin 8914 -> 0 bytes Project2/Debug/Project2.tlog/CL.read.1.tlog | Bin 18184 -> 0 bytes Project2/Debug/Project2.tlog/CL.write.1.tlog | Bin 3270 -> 0 bytes Project2/Debug/Project2.tlog/Cl.items.tlog | 6 ------ .../Project2.tlog/Project2.lastbuildstate | 2 -- .../Debug/Project2.tlog/link.command.1.tlog | Bin 4100 -> 0 bytes Project2/Debug/Project2.tlog/link.read.1.tlog | Bin 4226 -> 0 bytes .../Debug/Project2.tlog/link.secondary.1.tlog | 2 -- .../Debug/Project2.tlog/link.write.1.tlog | Bin 864 -> 0 bytes .../Project2.vcxproj.FileListAbsolute.txt | 0 Project2/Debug/linked_list.obj.enc | Bin 17383 -> 0 bytes Project2/Debug/main.obj.enc | Bin 11692 -> 0 bytes 16 files changed, 49 deletions(-) delete mode 100644 .vs/VSWorkspaceState.json delete mode 100644 Project2/Debug/Project2.Build.CppClean.log delete mode 100644 Project2/Debug/Project2.exe.recipe delete mode 100644 Project2/Debug/Project2.log delete mode 100644 Project2/Debug/Project2.tlog/CL.command.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/CL.read.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/CL.write.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/Cl.items.tlog delete mode 100644 Project2/Debug/Project2.tlog/Project2.lastbuildstate delete mode 100644 Project2/Debug/Project2.tlog/link.command.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/link.read.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/link.secondary.1.tlog delete mode 100644 Project2/Debug/Project2.tlog/link.write.1.tlog delete mode 100644 Project2/Debug/Project2.vcxproj.FileListAbsolute.txt delete mode 100644 Project2/Debug/linked_list.obj.enc delete mode 100644 Project2/Debug/main.obj.enc diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json deleted file mode 100644 index 6b61141..0000000 --- a/.vs/VSWorkspaceState.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "ExpandedNodes": [ - "" - ], - "PreviewInSolutionExplorer": false -} \ No newline at end of file diff --git a/Project2/Debug/Project2.Build.CppClean.log b/Project2/Debug/Project2.Build.CppClean.log deleted file mode 100644 index c7fd480..0000000 --- a/Project2/Debug/Project2.Build.CppClean.log +++ /dev/null @@ -1,20 +0,0 @@ -c:\code\lencode\project2\project2\debug\vc143.pdb -c:\code\lencode\project2\project2\debug\vc143.idb -c:\code\lencode\project2\project2\debug\sq_list.obj -c:\code\lencode\project2\project2\debug\main.obj -c:\code\lencode\project2\project2\debug\linked_list_stack.obj -c:\code\lencode\project2\project2\debug\linked_list.obj -c:\code\lencode\project2\project2\debug\array_stack.obj -c:\code\lencode\project2\project2\debug\array_queue.obj -c:\code\lencode\project2\debug\project2.exe -c:\code\lencode\project2\debug\project2.pdb -c:\code\lencode\project2\project2\debug\project2.ilk -c:\code\lencode\project2\project2\debug\array_queue.obj.enc -c:\code\lencode\project2\project2\debug\project2.tlog\cl.command.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\cl.items.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\cl.read.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\cl.write.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\link.command.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\link.read.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\link.secondary.1.tlog -c:\code\lencode\project2\project2\debug\project2.tlog\link.write.1.tlog diff --git a/Project2/Debug/Project2.exe.recipe b/Project2/Debug/Project2.exe.recipe deleted file mode 100644 index 03245a5..0000000 --- a/Project2/Debug/Project2.exe.recipe +++ /dev/null @@ -1,11 +0,0 @@ - - - \ No newline at end of file diff --git a/Project2/Debug/Project2.log b/Project2/Debug/Project2.log deleted file mode 100644 index 6825cb4..0000000 --- a/Project2/Debug/Project2.log +++ /dev/null @@ -1,2 +0,0 @@ - main.c - Project2.vcxproj -> C:\code\lencode\C_DS_Algo\Debug\Project2.exe diff --git a/Project2/Debug/Project2.tlog/CL.command.1.tlog b/Project2/Debug/Project2.tlog/CL.command.1.tlog deleted file mode 100644 index 9877c831115c4491300bbaa34f8a2477b4a13569..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8914 zcmeI0O-~y^42IuxrTz!R9T1dLZfOErJ`!lcM~hG+1OXz25GBx-{`j_!XO=3>t_Uo& z%fW~Bj_nz*$Mde`@vom>R8vLA&>hva#%LSboZxrWLbr*urai4Nql%;j{j82YY9Ea~ zi|F6#jh1w(Ip~o#!h2H- -- -C:\code\lencode\C_DS_Algo\Debug\Project2.exe -- - - vt2jUhT5*pPMo`sbmLD9?&Vo& zf=AKwHGROVxbqfqs%bgcYhW>YnD8C5bgm&g8fv62^Lwo72Kf &MPm5ZiXJiPV`q>`O*_Ibvpj}=g^xb2vvywD^R#o1kvZmc=fhXm@p{(WgRsk0 z;=G8}IyU0kuD;{Dc`;xoeRg$!(n%T%i;u ~$#jyVP+TL;RxGx9ykH=`Se;~h3a=bg< r%fWj-9*bc+|KIUmi}zaoU#}&vmU$SL#jrlz!SM|48N8efK8?iRVLcF4 diff --git a/Project2/Debug/Project2.tlog/CL.read.1.tlog b/Project2/Debug/Project2.tlog/CL.read.1.tlog deleted file mode 100644 index 6ea31f5215cb650b8b1de53b22912db83e0afea3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18184 zcmeHP+m6~W5S`~r{fB*QUr?9bR;X`~Ww&Sp*-Zj1Rn+|dPqaP9rUe_)8WMt$Mu=Q( zGairaGdF(y{2_^amI}vA9%PEE6vxHReIhm96gZCY?g`~8T;=$TWsRq=vP2Dj2dMQ{ z-fUWYL5U3IS#B;j@+dRYc7f}6@=ZqaN#3KauXw(|FJ!plyJy^&xT@q $lq}n(Wip;m%`4lZqy- zN3Yo;&_Cu?d!)6th4?O;=JRoSO^jBbuFzx%@@s=E3;49Rh*E8m19+30JngQuDvDGT z*;SN*qDV!NjPu!z>v2~b^=h9QALa8=ZIWt}JQS&ST`2OB8V_xcxv@yb6jQT5&!>n8 zU>xGwiwL+R?+#O$$cu?D^ M%Fj4S23;)>V04gNQ@(+(a@)3bRS_5t=W7DjfOrZug2%2>W!z% zq?JL9Wx2LkmL{~<20?NjF`C82jBaLJg=`Jx9ZXCH!c4y7%={}xZZhMIS{?5fD7U@0 z@-;?oP>Qz$yk*u`NS0m *Yi$_ zHgv;SQ%YORDvW#MSy6|T7GsRH4By=_JK~Dzinj+kV~4&Y?0PucYv}~bib@B273GMb z1f~=S^^>-0k8jvs_p$1Vb%$s*T6=UYIQWioPBSYW8n9YZfxIc?YYC=xO(bA9!~BA` z3tH0(SR1S)B=08|^wZB n!ZM$;nz diff --git a/Project2/Debug/Project2.tlog/Cl.items.tlog b/Project2/Debug/Project2.tlog/Cl.items.tlog deleted file mode 100644 index 8b807da..0000000 --- a/Project2/Debug/Project2.tlog/Cl.items.tlog +++ /dev/null @@ -1,6 +0,0 @@ -C:\code\lencode\C_DS_Algo\array_queue.c;C:\code\lencode\C_DS_Algo\Project2\Debug\array_queue.obj -C:\code\lencode\C_DS_Algo\array_stack.c;C:\code\lencode\C_DS_Algo\Project2\Debug\array_stack.obj -C:\code\lencode\C_DS_Algo\linked_list.c;C:\code\lencode\C_DS_Algo\Project2\Debug\linked_list.obj -C:\code\lencode\C_DS_Algo\linked_list_stack.c;C:\code\lencode\C_DS_Algo\Project2\Debug\linked_list_stack.obj -C:\code\lencode\C_DS_Algo\main.c;C:\code\lencode\C_DS_Algo\Project2\Debug\main.obj -C:\code\lencode\C_DS_Algo\sq_list.c;C:\code\lencode\C_DS_Algo\Project2\Debug\sq_list.obj diff --git a/Project2/Debug/Project2.tlog/Project2.lastbuildstate b/Project2/Debug/Project2.tlog/Project2.lastbuildstate deleted file mode 100644 index 77eb2f4..0000000 --- a/Project2/Debug/Project2.tlog/Project2.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.26100.0: -Debug|Win32|C:\code\lencode\C_DS_Algo\| diff --git a/Project2/Debug/Project2.tlog/link.command.1.tlog b/Project2/Debug/Project2.tlog/link.command.1.tlog deleted file mode 100644 index 34d135aec6290263c8b8be16ca8b055fe42280ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4100 zcmeH}O>fgc5QgWB#D9o#;g+f(Ary&&?U-QdBqpw*kt!lSQVEe3i2^5nJMhdnRpPZ1 zH$_` Qpy6WOVxgXECFNfi}sU{%vSYoq!FG}SB~&J zATx=)09VhHR>zeU=xE34%2F2cld+WN@<`sxH9N16e3dUqzai_$5BZG#M}7;|uTAp; z-6h`(G`fayiR22+3)A|J^@Uu@2j)+ S-Ttooo4R+qEw>xD@7Ug5+wc8|zC3_E zbLyu3Wa9ni|2M>Xb=%(>`y=k=!~G#PF~|qH%Q+ty+gZBL8=$F{>&{(&wH{spo3D?< kE5O$)V1Hiz|L=hPV>-M9ns1J#KHh$>yIr|`$Mzok7jPXzegFUf diff --git a/Project2/Debug/Project2.tlog/link.read.1.tlog b/Project2/Debug/Project2.tlog/link.read.1.tlog deleted file mode 100644 index 4190c564fb52295829408b569adf56da3af3a576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4226 zcmd6qUvHZ*6vglJq }Bpzcexn* 8D9nY`cXNxJ8Ek3gt`^&oL$<6_c<+7YwVam>N~fVdPlnr zPh!{fx#C~uQ%sLJeeOs0Sc53R$AyjQv9O#`x*)a%QK}@rhxd5r{f-}R$(SnQF(a&D z%k#1PYF~DY=~%b&+$t@yC5Xh<8qRG!x`q7&=azYK{9nUHVHT^WAU`Ed_iAF_BDcXy zZ>hqLEU)k(=8FBf-SBRBSJ-vbSD;Z@zJ{_^!;+RQeZ-12@A{FC*CUDSoBg)$c4kM| zdx|9@t{i(pHMI%35Y2a`m_IRV@yyrhTP<2E$vcbA^L67#q_7j(#ybl`^#2Q4OH>(S z85XJ)t2+-2Q^$##J-Fg20-8geAtfWGQzEQ+OhEOE^>`WFY}V{p86y_jdK9y=z-F<- zq+PWM3|R}N9FB#vpGwWmIXA;vhdrv4mH0BU!|BlB%p1$+b0s>C&$qScA$`82M#u5L zuSdu6@}44ns?VhVu1O6$XX*Lv_`X5aNTbI7WGp_U0v-KxR vsm;JP18+>4p*<(0L0k6P zvF{ PWw6)eoK_S=|@!8ccIhA@7RzfyE`!ku%yk8FmZI!Sm z)oR#v*nV~nn(#!d!?z xw@SH!_^= ^&O^;+?7H>OSP0ZsT) F`vdLhfLj0n diff --git a/Project2/Debug/Project2.vcxproj.FileListAbsolute.txt b/Project2/Debug/Project2.vcxproj.FileListAbsolute.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Project2/Debug/linked_list.obj.enc b/Project2/Debug/linked_list.obj.enc deleted file mode 100644 index 0f64bd8fa7f55e91982b1cd22436f4363837064c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17383 zcmcIr3w%>W)}N-O)TETQl=mxOL7t^;T4(`H(l&)c3xyWMHF6DU+6MYENh`2`(aOuN zE});XF7j|$0bTtR5kXN4A}An!A1f+~;)*<6@PP}TxGT%|KQs5<-lS=*!p`qEcg~zS zbLMgXbLPw>H$QA3yZHK-Ws}kvdy Ave0Ss2PsL5{q_&^o;?324o(V `H$WgnY^j(C$*CDgDuaN7AB$Pgyzwt)2jYxs!Ih4L`(6_ lGGsa>3b~f_%|&q~WKPL)E%k31^o0*#tYKj5`WB-26l7-IB;?v7 z2{m3n^lgUBpus|}rT5`L@zano3=wh>E$AzTJ`-e?4i$1OjrR@|{|z#?3=?uK&0hxe z)j($R@YePDP^?R0tPYVvYk1xYnLf!vt|dI*g5uvn=722M()$>O{+)$PLaNZGj@MJ- z@X@5nftF*HETix&vB{RCAh{S6-rq*KRc(-?_q4tZa@6j|ka9j}VqU>-ls=Qbt&rO; z%VPLgA2bfg6$i>SLS}EUoUpsaioQY+hh-Us$L+4Oe2#Zyn!;kqXsC}#%?d&fOdE|O za%{QQY5B$Zd0C_T7Zgp;o?4vKKae{)KWCD)z*YpdEhn$oIw>c6@}%OtNz-h`5snI< z%Twj>xvCtMuF)1r$}V>~=j2vP7N4?7)ZFi!Iy~0(+(`+fHNU~OxRoe?a)w8ijrP_G|_6m2^99M}{;r9BH zs%On+quJOv)=$UUvrcR%`*A63hnyC;ot|oMb*axdXzF0& ra zxIEM@_2U~IV>hwrI3qE5kaE&Yxuz6Ty5y{`a@Kl0=+!*0qry_odIbt*BxmNP #|Mewff6H=v(nPD(vlSk$?Gd|S5x0h-DMCD8eDd+)if$C#ioki&E+B3Cs1#e zDc5E)C7Xo4=895NQgX5~GijE1&!kF6MMbp}f jo4R4Uy*n){$m*)npo zlC2{%s8d2iVqjZVYkGQac6Kr}sF;JAASqK$#;DZvw2S~LCyQZGas2?MyPf3@kK}_V z5Eb`uEUX$(4v0p@twqLB0{_eFl{k}X)L?DYIXJpmEb{FjBw 6@X_wa{_n7_{_jTy
=Z^c)C2Y22LTD%XzKmOWn>Szhd~@c5%YE z^d)PfemFW|hkfvUHFrnF|8&)ladWwoYfs;|x9+iFN5bmgk6-!dDyz*sw5ns$+fU4> zDlsqZew?vhm>Xkw ?kIBybGXMOUc`q^61v{rPe4TS MI+wAv zTyFLDA#eRFYvrT8x}U$ad+TZIwoyMu7>h6bx$3nm9nRf#ego_vm+Q0T$&*8>zhC|A zya-41{@6hWw!GlUeEilmTlDcAdiFRU&zKzmHHI4vd3(M+GH3smq$mD4=Kcly; p#%sM;MDrIi! z1IHFPSWn&uHUL=qGLNIum!}faRPAyIz4oRpYr5N8>!>gm`D#(ao|>GR zYR9%!SzG1y&9hI>wij1dS9tBTecMyglG02`rnHRY47*#N9%1uBH1TVu6~^&;Xi}zC zY!X6a3wyrC;3he*{e|*rzm7u)q3Zg*I@J?s^9(hI{PpV%+?o)h{lzF!-o3nAhfsO_ zx*X`T{YRS;Ze55be)R+izXuug5(wQkz(Eiz!OKu0x9$ zYw#FTl>uSca*L@-zxX*J3foj9%a3~&eid8}hC490b?aqH&)xz>7Xk+Mj!fy ?!bw(z89F5;$+4OzGJ MR!^T_Gg*Wv;Cmx{>s1(%9Ngk1%+u1=kIuv4u<3yCL$_< zZaTCf4h;AzjAZHXMmHmwY#cvCg5-hfkPOA9U=48=g`XTxlN~DD7teHTGAX7P{aeKL zY=%r3m|dpy3|+tXd?T_&({F9KVtQxCA%uTCvlAS4mL4m1&{LXu`@MS`L5w-ixecf8 zc#~$78i-`Q@tlvCz;49z9?mo2xq$ORO$=SpH6kiu0!G~xT~#J#4+^q^CWh+Jo5c+l zi&V#LmBax-J~q~Pa7rkZs&QbhuJZC3YJ@yR%hjt_X);7Gu85DN<1qDD1c^@Bs8r;u z_BhI1I8U~VljS8T(N^Uw@;RJy^5DdP@c5v+U7UQQ8dPqpDv@XZd#KJ(8bC^8C`6=j z4nw4X`xZaf)A2ihf8_CU{4_>@!%ywcMieiPDDm=$!rH-;W*ciqru1wVC?VG
z<$bR5XdMeVTE{})&x4`iVuLNAu%RG!O2f41sSUQMLIH>I5mOpsr(UH6%If!a8*`Df zTS5)3axH4o$@Xv}osjaF6U!SV$lZ!z+PC|`n 4L)>C80J_RoreN=~9#zB}l2^~CymAEQgK9{&n zA;V5;8xhk2%oc;$ik8v05|yj4DTb^2#|X$%MCb^i%cx31K38Q8KoQv{m{HddLYOpy zS%D~JtD#ojU CT?g?_S+*h~E5kYXS9 z)4V{IBan0n1QI0>NR*y!!c*{`ktyueD(|4mJEQW>sl0Z;ov3?*OzAm31us$Maa4YU zY8;hkcSeE?fy#@sqkKnt(-9l7U{qC@aX_uFSeV&8={JDbx+FJm>sgc8< zhVe7-9|n;c#7H(0PXT&*flE0r56>#Z1itMwaNZ`Bw;hyNI*p)2-M^|-sHO7>N~u$1 zM=2y>cC||<9Is(Skm05}1S6WkG9XZduu|N!G%Xxb+K4!)*}|bULCw*cD0ewZuxSXJ z?E|yUQBmu{(iO{Q9Ym`5B08^KL~Zd2sDlVCETAExl+8f{F>Gd>$Vaj@Jf9i2O)gg# z*!N&OFEc5jIrt8dHqniU6iiqyyjgj9r6GSa_}Eze*+}s|xnUoLv>5qJq;N0r`vdcr zA{~RY0_j+!wMcJ4N{)pY>2jnNq>m!CB3*|R+q8cJQt0+ShZHFBzlGF>l-^A)(rBc0 zh+_E?C6+HydiJhdYGD5>Q+oEb%DbTQ3_yXX+fk ybTJT%mFg78ahvfFLDcK$L(1 zQF^u-Pr+LwQ+l>T8kQK6esiq1KdA z*)Q=K9!3L^j24zKkk{rjkOeRWp@McM!XE97Pc=t{_|2ttuc4XoQ%s!?I^Eak8Ymto zpGD}SKz$~p=n?IR6fj2thH4t}Ko6UabR^OlNMUps{4f7_q;xi#fb@2xi2Q6sbD*4! z=7JW;B1#~OC_N*yBzRk8O3x0fydx^_qRP9h^4g3nm=)T`$JnA5_NZSN#eAXQ^%*ZA zOhL}4JJ*gNC@jn&)c=`HxdtK&5EB@!xJ!tMh)SRlk`gku6oUQF55Y?d!V=XXER`T` z3V|iD5&l9j#b|cYnrbiKSxGm6D{yDMUT|aILp9Bg5@=lCAsP^AY!qezH#AlzZ;Vdl z32!L(k3ovf&!2;|3~2#U;MYGHsT(P6kXXrn3F#c9q_YAk&GkG)fjgoE?ugR!?M(2F z%5r*s)gyTH{)8Nz#RQMeNP^ck+%^0Xf3q`SM{Xv;Z@(o1%@bhTYTSlFoTfO~Bdq7V zCXcWd`IbSt5T%C@dFx1nLHZGR!JZz~p%;f2!DbPVcnEXj_N8ebB&Cgr&5uar*hQhF z34V0!R?b6JuDgYjwrr3bJ|Q cda-gkvBF=Ut!$IEfPABudZ76bjyUnbI>dg@X5i z%A+0%9+^i`mjR}NM^{IJM<5nF0 8 z8lu*9AA|hwInRQpaNMSWYT1s_hR}$p*s)-DelyC_gEm{LL#}ZiVtEsI_&p=XPLu1_ z2oZ|Sz4~UZTU+c_>yAAEqYzOE)K3BiY!RL2c!1*-;MPw>o)#Lw;7>z33F$bb*f9Mx zKIr2Bxf`?q2vGtcM2QP)!FvjM!P_HK2DVS-omF|~RUWr1v{kfv8S|hmT3n_S&Su#6 zreL!S3%;CD3{NZ!&wd-VpzevJUxS-o$kI7mdr3&kW)A1&;wjLQ52_L|fnQ#?j35F% zHK8CV_|D@Klno0)5Y-{<-ig>d2to8$srXpZ*oYW-;XyxeDEHLbJ83dCbf*z;|4f3k zJ5poPRF@b3biBqB0d0=BUf`h@x~-ZcphOMS9PJ@m)a?onG)HeBKMZn>NO4SHyO9!F z_aMC!>6=KSk kG_*IuUdjP^CbqYG>y$C22G zYAya|Mi#0ddU;e^Z4n)PT1E|SWBB`xLP{an?rZ}uH3&6Srz;})CnZg&@wjR#98S$G zb0f+rHa9wfx6IAAtm|WgGSIdXsL$Ua((0f$PN6Ss3XOvt`2I+Y$kUkmA*HwOMHFwH zDDl>b5(hxRBd cD@xO7v{+$J ? zV4XXUaoJ4|-T&Ui2hMbwux`pjKlK2=&3`7YbEe?0Q#B>C*oCK!8(vs3?$v$wjGnoy ze8#eihko~duWwf@D7b6xu67qr)hsft-L?1+o2*mLoUrdNJ=^<+zc2mESJ8#8`@el) zb&oBF-nR7paCz>b=;2S@(|&8^Zg=-9R|XdyC>y* Tlb=&?w{C;Uh z{Eq{djp_Z>>B#RJyKK-8ba#Gw(1{bp`;JNvR*gDw--$J^kNQi@sV4{A=(_{o %f#(UUB#MYGcA1 z4=;M}_vY{3eXf4X {uPKWyB{+daT;)KQrjn50%$o zapGUpN$!##mqvtLy-L5eTS{FHUs7`N%J4A1%&DucNUAL1zrzcT_Io230~W4ZtSD?H z)qVw} (F(*0q&z>N7%2WFW z`S^9KQAGWq5W(kUw*Tl(kyoDDw)hU*~+@*>r?#ph8s79*gU zpb*L1+I?#NBO !|3f%(DV8uk1y#Z^2$>? zF8=Oy 4?+*$v<(k^I;(4vP^hEsAACF=4g9`S;q6IG^(FAQ &xFW2949W9$Yh@CQ1{uZINFQuA{Hml=szzw-skyv|CdJq_(YY zycWG0!u&>Q-$$aY_lz?xfT0Q6wz`8KuFKH0)s5GWO-@owkX%#S7Wo6=Iv<{7LCn+t z1#Hk-{`;+K>6Tm*v~AI8Av|C$_uy@Lcl7-)O%;&ZwrJ^v>u#YZ;{Wu&!z#w*Jx;%c zYJ;||-Y5vy(ck`*ImF+hz+3X>PBM2vVKL+=L^2~E2QVmeh)W}5?3HGmV=^a-*OJ74 zbhvB}&LQ%2vs&Lb m#WCbO# Vc;YJ!Cm4)UTU1qBT8cSr63;)MEsvNzW@|6N*~XQzz@8 zT7i1{aXn-YC`|3Py`VKcTV*{|D^O2=aGLsakK;YyTAf}}9S{!5dZ-rZY5Jn_MsUJ) z)Soc52I*Nle?^d;r{eZ<$9XNGNB-h65v8H@9EwZIr<#GGkF1B+Qg*9ik{N&)t}6@_ z51C8Se4jax*Gg_0LdY7#Oh?O7E8ikYQqbpzlGOZ*LrDtxk)b4o_^wcre(qC3eDB%f z*MpMO?1Mo`YWW*MNoxLCAb2f)35e0Q{PCY8HUHiZBX9PJpCq;LRUZ_D{*X^<_203Q z WjzQvql{*5^?-)1hwbG&)F*=8;=PcSD=9FM%! zoH(f k+&J@iYH#91Q5EA5bEizDY7hgbRQ;m- F{{a$ZLHGaw diff --git a/Project2/Debug/main.obj.enc b/Project2/Debug/main.obj.enc deleted file mode 100644 index 2ce26079e2b36eb295e855030548229c14fc0e69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11692 zcmb_i3w)DBwx6b@)C90CMNmNkb`=CmUTssrZPGljrG-KZl}q3wP1DlSBqd1;#aE%A zLe F_r>r7T+pLYElGNvS-QWmP#V8*4Jl0&kv9 zWo#SxW@U)TXe0)fT9D=PH96{BjsV|PAO_GQEP$^g%kNz1&vdy1a4!&}qWF}lrE{Y7 zt^=P6eETI{s;VIsdZXlx1AY=b!v=ytNJ5M!Z+rq{h2U8>h_f*Tl6dl}fS& LG6pcrINd@^vS#1Fv1zGIsM|k?%?*@#JlUyxrh&Tqp8%C(n=9AA-j+ROGu{ z{T74gGi8)KZ >R1#XlcP_R z$}wh()i|xVytuGn?C_GZ>87dW=HZd( XTx)?K4Cd0Y*(^-eGJk^U}>wi{WW zG$m*;2xgtus#R;V1&7D&X!Lqfn`WQA-Y}O9j%3uU@~mpB)+~r`hep1&>P*&bjV4=Y zvR65)eJDOWlEGp%tFz5!lhEYwHo8$kCwP>RJh|HJyd0H9jk>_8dHvwHIg%qsRiMi* z(5V6(g3n)7>!G?=*VceN>f=mSqc&HkwglN1aDFge7b&+uYqe;#Dy=9lR**)mHW%dO zQ7iG92`+nmy~hE@sCLN9&emn;n9xf8Dl|l_q`W+%#jLXy1SR>LcCTYD7)L}_NnfB> zYYVJ7K}M>3eQjl|POYXur`F_}gnD$lpV~gEQWm|nKxNF)Q>8=+QJ=5Ynk^b_u3B(< zy>1T#jEt;{R;SkHT66M3od;1~7+5T;-e@Y&sIxV}YP*~+M? !n}fvXbMSt)R*R1^!hxD$rP$yX5^O`joH~&lSzfPa?f*CA@Px! z4T U#_KKYEjL z?Yq0r+&6N|-*-Oz_51$Te;*i8%-BTE_oU(tYt0{?|3AHaUdxeX`5Sf|9=~_h+ZFo9 z#?{Q|y86Tb#vbQ 9 8KwbjBvg zNN?h-$K@55K3{rj#dVMMwV!QD>wQ3Z;N_Rn?wodd(1qhGS{a+m`I6t+Jhrrd^2Lt_ z*0JY)J9Ass)Bk(V_>0w!Y5wdRKX~M`y^L+)eE-<`?bBN~{h{yVt{Hj8bE})@)HnU{ z iZ97)nd8+wU z#wyWw%Eab*!*6JLcxCV9OSfHJe)Hn{PZ?JpNK>S3ShH)>?)yf~I>FcrobSDjRWsh! z&mF|xpS`YOe05o||GC8HoudwJAEoR456fp(#`?e#m5GDio|<%3#j4irIqT&QPMeW& z$kw=^_slgj2IlYGZkaJ{4r8-9-?~5E^yc>ktA025>dtdJUpZ;qntMJ;S>E-Gd&kAT z|C!(UB)*sPUDy89v70WH`7w|Mg&tyteKPw#u}HJxbZ!B{0K6TdpT zYU$wL{xD|H-KP>ao~wNKWck}mPTsG}S@*Jg@7<4W%!93RKBb~?*B1xo?Q73^{JU{W z@7SCEO74+!`$i7guyRP=)@M#+G4?mkw|CM5=RLjd{^#~2|Bfcx=VSkM=dq$uL*M%F z;TgVRUwwFd0`y|_qD*{wYSPz>ONQKj$EJ~6hZtA?_4tC}U6mbM{x f=u0D8w>*~E9o!j7^Iegrb+4x@0*H!FVf8R;}g<^Z^ zc+Hy)<$p?l<%LbFKEJ8*^lYP$w+V~6GqC&Bv=YN)k6FFOYj-KFn2&wR5exM>BW)G6 z?kdj$pK>DHwoR?F6}lbujaUm0dX9mHQ zWE?HOz!GRh5l2$b)fWrrIP!mXO@o%^bYZpBlM