From a9a217cc451b002dcf63e51acff0c57541dfcb37 Mon Sep 17 00:00:00 2001 From: cdez Date: Mon, 2 Oct 2023 20:50:31 -0700 Subject: [PATCH] Completed Utilities, Testing ArrayEngine +- ArrayDataEngine.c +- IteratorUtility.c +- QueueUtility.c +- StackUtility.c +- PA05_Main --- PA05-1004/ArrayDataEngine.c | 2 +- PA05-1004/IteratorUtility.c | 47 ++++++++++++++++++++++++++---------- PA05-1004/PA05_Main | Bin 37624 -> 37624 bytes PA05-1004/QueueUtility.c | 7 +++++- PA05-1004/StackUtility.c | 10 +++++++- 5 files changed, 50 insertions(+), 16 deletions(-) diff --git a/PA05-1004/ArrayDataEngine.c b/PA05-1004/ArrayDataEngine.c index 3e726ce..9e6eefd 100644 --- a/PA05-1004/ArrayDataEngine.c +++ b/PA05-1004/ArrayDataEngine.c @@ -190,7 +190,7 @@ bool getItemAtIndex( StateDataType *returnVal, const StateArrayType stateData, int listIndex ) { // check stateData size against list index - if(listIndex < getListSize(stateData) && listIndex >=0) + if(listIndex < getListSize(stateData) && listIndex >= 0) { // copy data into returnVal deepCopyData(returnVal, stateData.array[listIndex]); diff --git a/PA05-1004/IteratorUtility.c b/PA05-1004/IteratorUtility.c index 9ac5c05..7f88975 100644 --- a/PA05-1004/IteratorUtility.c +++ b/PA05-1004/IteratorUtility.c @@ -24,6 +24,10 @@ Dependencies: clearDataStructure, free */ IteratorType *clearIterator( IteratorType *iterator ) { + // clear the encapsulated data structure + clearDataStructure(iterator->iterData); + // clear the rest of the data structure + free(iterator); // return NULL return NULL; } @@ -41,8 +45,14 @@ Dependencies: malloc, createDataStructure */ IteratorType *createIterator( int initialCapacity ) { + IteratorType *iteratorDataStructure; + // create the entire data structure + iteratorDataStructure = malloc(sizeof(IteratorType)); + iteratorDataStructure->currentIndex = 0; + // create the encapsulated data structure + iteratorDataStructure->iterData = createDataStructure(initialCapacity); // return IteratorType - return NULL; + return iteratorDataStructure; } /* @@ -58,8 +68,8 @@ Dependencies: getItemAtIndex */ bool getFirst( IteratorType *iterator, StateDataType *returned ) { - // return false (TEMP) - return false; + // return function true/false if value possible + return getItemAtIndex(returned, *iterator->iterData, 0); } /* @@ -75,8 +85,8 @@ Dependencies: getItemAtIndex, getListSize */ bool getLast( IteratorType *iterator, StateDataType *returned ) { - // return false (TEMP) - return false; + // return function to see if possible + return getItemAtIndex(returned, *iterator->iterData, getListSize(*iterator->iterData)); } /* @@ -92,7 +102,13 @@ Dependencies: getItemAtIndex, getListSize */ bool getNext( IteratorType *iterator, StateDataType *returned ) { - // return false (TEMP) + // check to see if the currentIndex value is not size. + if(iterator->currentIndex != getListSize(*iterator->iterData)) + { + iterator->currentIndex = iterator->currentIndex + 1; + return getItemAtIndex(returned, *iterator->iterData, iterator->currentIndex); + } + // return false return false; } @@ -109,7 +125,13 @@ Dependencies: getItemAtIndex */ bool getPrevious( IteratorType *iterator, StateDataType *returned ) { - // return false (TEMP) + // check to see if the currentIndex value is not zero. + if(iterator->currentIndex != 0) + { + iterator->currentIndex = iterator->currentIndex - 1; + return getItemAtIndex(returned, *iterator->iterData, iterator->currentIndex); + } + // return false return false; } @@ -128,8 +150,8 @@ Dependencies: insertItemAtIndex, getListSize bool insertAfterCurrentIndex( IteratorType *iterator, const StateDataType toBeInserted ) { - // return false (TEMP) - return false; + // return function true/false based on possibility + return insertItemAtIndex(iterator->iterData, toBeInserted, iterator->currentIndex + 1); } /* @@ -147,8 +169,8 @@ Dependencies: insertItemAtIndex bool insertAtCurrentIndex( IteratorType *iterator, const StateDataType toBeInserted ) { - // return false (TEMP) - return false; + // return true/false based on if the function deems worthy + return insertItemAtIndex(iterator->iterData, toBeInserted, iterator->currentIndex); } /* @@ -166,6 +188,5 @@ Dependencies: removeItemAtIndex, getListSize */ bool removeAtCurrentIndex( IteratorType *iterator, StateDataType *removedItem ) { - // return false (TEMP) - return false; + return removeItemAtIndex(iterator->iterData, removedItem, iterator->currentIndex); } \ No newline at end of file diff --git a/PA05-1004/PA05_Main b/PA05-1004/PA05_Main index 62a80337f6f7de81caad48c4924715ea2d82b304..13fb3242134fc5e5b783ea7c156b81962f183c63 100755 GIT binary patch delta 6210 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 delta 4172 zcmaKve^gXu8prRvioz((H2ib`1ysNRhT*3$4hrVbh|*%48H&F+TWeZ|iK&EOOLZKH zoP63{OR{uROV6(4Z0af}F5B(@Sa3S00M;iiX$l}Qom@89KPv9Z;z8|JX(!rq5 z*-@2sV{nB`mO*<$LP@UfU`a~qS085@1!BHsGw!oiggz=`{gXXYeh#y-&Pnw7)Q40j zCrPE5s*L+gC^c>p#ZKE<5$P`oFV-tw43c5E+W3w*6r&!|m(IswVUA@mZZ<-l5%2jQEoOy?f-igytZhR2`7fq|;{irr> z79R_sSK}7L8;KR~RS#KKUi`0O>Yb$~^9_@E$FRw~#rZ31>}};Y;pX98#%~|)$(2Tz%<;un^jf@&UAaMfv};)10DZ6B#`X@-h6H`!yeM%4Q}rUum!(zw zFhJ)Lrm?00vM0m@{?zYwe>PgodGYu-sGrojU96y=-qj_mf@g}8uZ+(Bq@Ql;V%T6G zT~A!Ws{5!oF;$f}OGvfsMqnRQE=)i8GGNhGW?-ZE7! z9sYwU)_-OU_O8Usaq=21N{Lcf#)ej3qn#O87Xnc?#c?o3r)>+5qFX=$q zYL>Hz+-Vot3%T^k>~Phbsbcx}-q+ImpR+w~H=1H&J*}P{O`Fn_*gFg9aC*3E zRoE}%zv`xrbp80jZnqnuiIkI}Nog?&!r614#=T_jaAe=brkJsn)k__y6ZCyO^p{zt zbkn;TnM~bH{TW6UVj_(`j16?rLj3_&_#oZX>!)~kiAzN%I)sui&w|kimmS}Cl3~tD zwzt!|e@?h;>U&1dE*%8MG)?6)F z3#d3Vkqx%f-!cs>w4JVJ2D73CbT?DO0^7-%8bV##`zU|zUN)u8(>|d=NL-y7Bx0m} zwzqlO=dm_gIxjk?qIGQhn542A<`d1E#VT5*obz_EH(NZdbi(tMzV~XpTIs#4XcpH( zOzc*g!Ra!7ibgq&uNH5V6U}rWJJ|QH_nh6$bTPY-xtb_q z{Ppaq{@8#r|U3Bbx5NHAFtE`mC69KQ7V-~zB1 z+yq*{+h8sD>erYL_JU3@&Vl*9g76xs17mMuKDZT(D26xzVaK-bz!``k>tn~I$jW7;tzu?lhPJK zJ|pESgDm=uTs0Vfq>&nyt0&Y!F5?wI=3;X-*AAK7OoMP;kawC%z6yEKV!fiyrq z+d{dJg^=|vv>vhy($PY@A!{ISOR^4Gkx`wbfiysF z=%QT6LdYsfmO&oxqTO(7Aisb_Wp$8UUDN>A4w>0agOD!BQ{5zAi@fMmM>lC84Uqml zlnYr1S(4r-d68Zd5$e9Z3IJs0E=JIRZX7X902w`z+1 zC#QPmO)*cWGyg1W(bEUKWa%W^d^AE6D;_HR?Ux|*;Ww^IPzq0JBtu1?ZJx*2Jd&4a znK6O%z>&GMz9dI&=2P)U+H-w?t`nzjPN9Yptxp2a;7778%Zi-wQcwa9jzZUn!5uuw zTij3O{!oTwWO089_mBU|-@yHKNpyCLmOZ7X!7UGI{P?U+KKlDi$ym(&A<<{|3;tPD z^qf{5Hb?T`;KP1sD6zP#csll+mZc|B_j9Y5C57}`wMAiRQq<=>_yiCBI7u>Qa{m(d z{rLZzzUF=p_fPSMKFob5_Z?bl*s4{B^K>RYJRQv_*7SB9skUj8nvx~|5FdVo4`1Ue zE#UqixqnAT&u-JQQwelvTMjFUqrq)Qm?Mq$Zr8F{J$<}g8&S?*STvtniZ&IW_>WnV zp`!asquF5%=}WchuX%Ypm^=){v!tI{&5My-?^U=OU=(~)h81re8?y{UEf98weXH)nm8eOcUha31!l0C{m{|%ZQ2p-)4}&E zhz{h($ diff --git a/PA05-1004/QueueUtility.c b/PA05-1004/QueueUtility.c index cc3258f..800195d 100644 --- a/PA05-1004/QueueUtility.c +++ b/PA05-1004/QueueUtility.c @@ -24,6 +24,8 @@ Dependencies: clearDataStructure */ QueueType *clearQueue( QueueType *queue ) { + // clear the entire data structure + clearDataStructure(queue); // return NULL return NULL; } @@ -41,8 +43,11 @@ Dependencies: createDataStructure */ QueueType *createQueue( int initialCapacity ) { + // create the data structure + QueueType *queueDataStructure; + queueDataStructure = createDataStructure(initialCapacity); // return QueueType - return NULL; + return queueDataStructure; } /* diff --git a/PA05-1004/StackUtility.c b/PA05-1004/StackUtility.c index 799145c..359558b 100644 --- a/PA05-1004/StackUtility.c +++ b/PA05-1004/StackUtility.c @@ -24,6 +24,8 @@ Dependencies: clearDataStructure */ StackType *clearStack( StackType *stackData ) { + // clear the entire data structure + clearDataStructure(stackData); // return NULL return NULL; } @@ -40,8 +42,11 @@ Dependencies: createDataStructure */ StackType *createStack( int initialCapacity ) { + // create the data structure + StackType *stackDataStructure; + stackDataStructure = createDataStructure(initialCapacity); // return StackType - return NULL; + return stackDataStructure; } /* @@ -59,6 +64,7 @@ Dependencies: getItemAtIndex, getListSize bool peekTop( StateDataType *returnVal, const StackType stackData ) { // return false (TEMP) + return false; } /* @@ -76,6 +82,7 @@ Dependencies: removeItemAtIndex, getListSize bool popStack( StateDataType *returnVal, StackType *stackData ) { // return false (TEMP) + return false; } /* @@ -92,4 +99,5 @@ Dependencies: insertItemAtIndex, getListSize bool pushStack( StackType *stackData, const StateDataType toBePushed ) { // return false (TEMP) + return false; } \ No newline at end of file