This commit is contained in:
Antoine Bartuccio 2016-12-11 02:32:51 +01:00
parent 24e3bb4b90
commit 10d6da9be6
2 changed files with 23 additions and 17 deletions

View File

@ -23,6 +23,14 @@ cellElement * CreateCellElem(){
return elem;
}
bool is_leaf(cellElement* tree){
if (tree->nextCol == NULL && tree->nextRow == NULL){
return true;
} else {
return false;
}
}
int AddNextCol(cellElement* tree){
cellElement * elem = NULL;
@ -60,7 +68,7 @@ int AddNextRow(cellElement* tree){
elem->value = true;
elem->nextRow = NULL;
elem->nextRow = NULL;
elem->nextCol = NULL;
if (tree->nextRow == NULL){
tree->nextRow = elem;
}else{
@ -73,9 +81,7 @@ void removeNextCol(cellElement* tree){
printf("---removeNextCol---\n");
if (tree->nextCol != NULL){
cellElement * elem = tree->nextCol;
free(elem);
elem = NULL;
free(tree->nextCol);
tree->nextCol = NULL;
}
@ -85,9 +91,7 @@ void removeNextRow(cellElement* tree){
printf("---removeNextRow---\n");
if (tree->nextRow != NULL){
cellElement* elem = tree->nextRow;
free(elem);
elem =NULL;
free(tree->nextRow);
tree->nextRow = NULL;
}
@ -95,16 +99,16 @@ void removeNextRow(cellElement* tree){
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){
if (is_leaf(tree)){
printf("leaf\n");
} else {
if (tree->nextCol != NULL){
recursivePrint(tree->nextCol);
}
if (tree->nextRow != NULL){
recursivePrint(tree->nextRow);
}
}
}
}

6
main.c
View File

@ -12,19 +12,21 @@
#include <list.h>
int main(int argc, char **argv){
cellElement * tree = NULL;
tree = CreateCellElem();
tree->colIndex = 1;
tree->rowIndex = 1;
AddNextRow(tree);
tree->nextRow->colIndex = 2;
tree->nextRow->rowIndex = 2;
AddNextCol(tree);
tree->nextCol->colIndex = 3;
tree->nextCol->rowIndex = 2;
recursivePrint(tree);
removeNextRow(tree);
removeNextCol(tree);
recursivePrint(tree);
return 0;