/*** --- CellElemFunc --- ---Created by : Naej Doree --- ***/ #include #include #include cellElement * CreateCellElem(){ cellElement * elem = NULL; elem = (cellElement*) malloc(sizeof(cellElement)); if (elem == NULL){ return NULL; } printf("---Created cellElement---\n"); elem->value = true; elem->nextCol = NULL; elem->nextRow = NULL; return elem; } int AddNextCol(cellElement* tree){ cellElement * elem = NULL; elem = (cellElement*) malloc(sizeof(cellElement)); if (elem == NULL){ return -1; } printf("---insertNextCol---\n"); elem->value = true; elem->nextCol = NULL; elem->nextRow = NULL; if (tree->nextCol == NULL){ tree->nextCol = elem; }else{ return -2; } return 1; } int AddNextRow(cellElement* tree){ cellElement * elem = NULL; elem = (cellElement*) malloc(sizeof(cellElement)); if (elem == NULL){ return -1; } printf("---insertNextRow---\n"); elem->value = true; elem->nextRow = NULL; elem->nextRow = NULL; if (tree->nextRow == NULL){ tree->nextRow = elem; }else{ return -2; } return 1; } void removeNextCol(cellElement* tree){ printf("---removeNextCol---\n"); if (tree->nextCol != NULL){ cellElement * elem = tree->nextCol; free(elem); elem = NULL; tree->nextCol = NULL; } } void removeNextRow(cellElement* tree){ printf("---removeNextRow---\n"); if (tree->nextRow != NULL){ cellElement* elem = tree->nextRow; free(elem); elem =NULL; tree->nextRow = NULL; } } void recursivePrint(cellElement * tree){ if (tree != NULL){ printf("Elem : x: %d y: %d \n",tree->colIndex,tree->rowIndex); if (tree->nextCol != NULL){ recursivePrint(tree->nextCol); } if (tree->nextRow != NULL){ recursivePrint(tree->nextRow); } if (tree->nextCol == NULL && tree->nextCol == NULL){ printf("leaf\n"); } } } void FreeCellElement(cellElement* element) { if (element != NULL){ free(element); } element = NULL; }