From 82bf795c1542931ffae6baaf14e51fd4606b8795 Mon Sep 17 00:00:00 2001 From: cdez Date: Tue, 19 Sep 2023 22:19:01 -0700 Subject: [PATCH] Refined all the Functions and stuff +- PA03_Main +- StateUtilities_LogN.c --- PA03-0920/PA03_Main | Bin 33320 -> 33320 bytes PA03-0920/StateUtilities_LogN.c | 35 ++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/PA03-0920/PA03_Main b/PA03-0920/PA03_Main index 1c90e4ff9e9ee36bcb42a4c2e845d3fa8320f1b5..75757e8ab142b07f5d5a782ee18a5a6a19251503 100755 GIT binary patch delta 4872 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 X70V5#ZLgaK83xdZ+SHgjQ9 delta 4754 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 + 1 > stateArray->capacity) + if(stateArray->size == stateArray->capacity) { - // create bigger array, use createStateArrayType(2x old capacity) - biggerStateArray = createStateArrayType(stateArray->capacity * 2); - // copy the old array stuff into the new array, use copyArrayType - copyArrayType(biggerStateArray, *stateArray); - // copy the new array stuff into the old space - copyArrayType(stateArray, *biggerStateArray); + // 'create' bigger array + stateArray->capacity = stateArray->capacity * 2; + // allocate the bigger array + biggerStateArray = (StateDataType *)malloc(sizeof(StateDataType) * stateArray->capacity); + // copy the new array stuff into the old space, use loop + for(resizeIterator = 0; resizeIterator < stateArray->size; resizeIterator++) + { + // use deep copy to copy the pieces of smaller array + deepCopy(&biggerStateArray[resizeIterator], stateArray->array[resizeIterator]); + } + // free the old array + free(stateArray->array); + // point the stateArray to the old array + stateArray->array = biggerStateArray; } // no return, void } @@ -112,7 +121,7 @@ Dependencies: as needed, including free StateArrayType *clearStateArrayType( StateArrayType *stateArray ) { // free the array from memory - free(&stateArray->array); + free(stateArray->array); // free the struct from memory free(stateArray); // return NULL once complete @@ -134,14 +143,14 @@ void copyArrayType( StateArrayType *dest, const StateArrayType src ) int currentSize; // use a for loop to iterate through source array // (start at zero, go to srcSize) + dest->size = src.size; + dest->capacity = src.capacity; for(currentSize = 0; currentSize < src.size; currentSize++) { // copy each element from the array to the new array. // uses deepCopy to do this. deepCopy(&dest->array[currentSize], src.array[currentSize]); } - dest->size = src.size; - dest->capacity = src.capacity; // no return, void } @@ -576,12 +585,11 @@ bool uploadStateData( StateArrayType *arrayType, const char *fileName ) // read in the four strings/starting line // (use readStringToLineEndFromFile) readStringToLineEndFromFile(currentString); + readStringToDelimiterFromFile(COMMA, stateUpload.name); while(!checkForEndOfInputFile()) { // repeat these steps: (use readStringToDelimiterFromFile) // read in the state name, store - readStringToDelimiterFromFile(COMMA, currentString); - strcpy(stateUpload.name, currentString); // read in the population, store (cast from string to int) stateUpload.population = readIntegerFromFile(); readCharacterFromFile(); @@ -593,6 +601,7 @@ bool uploadStateData( StateArrayType *arrayType, const char *fileName ) // use the addElementFromElement function to add the data to array addElementFromElement(arrayType, stateUpload); // do until end of the file is reached. + readStringToDelimiterFromFile(COMMA, stateUpload.name); } // return true when completely finished, close file before completion closeInputFile();