mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-11-10 20:53:18 +00:00
Ça me casse les couilles
This commit is contained in:
parent
64ab0178ce
commit
918e3e9851
@ -2,13 +2,124 @@
|
|||||||
* @Author: klmp200
|
* @Author: klmp200
|
||||||
* @Date: 2016-12-10 01:32:50
|
* @Date: 2016-12-10 01:32:50
|
||||||
* @Last Modified by: klmp200
|
* @Last Modified by: klmp200
|
||||||
* @Last Modified time: 2016-12-10 04:29:48
|
* @Last Modified time: 2016-12-10 21:08:25
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <CellElement.h>
|
#include <CellElement.h>
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
void freeCellElem(cellElement * elem){
|
||||||
|
free(elem);
|
||||||
|
elem = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
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) {
|
void FreeCellElement(cellElement* element) {
|
||||||
if (element != NULL){
|
if (element != NULL){
|
||||||
free(element);
|
free(element);
|
||||||
|
@ -37,8 +37,18 @@ struct cellElement {
|
|||||||
struct cellElement * nextRow;
|
struct cellElement * nextRow;
|
||||||
|
|
||||||
};
|
};
|
||||||
typedef struct cellElement * cellElement;
|
typedef struct cellElement cellElement;
|
||||||
|
|
||||||
|
cellElement * CreateCellElem();
|
||||||
|
void freeCellElem(cellElement * elem);
|
||||||
|
|
||||||
|
int AddNextCol(cellElement* tree);
|
||||||
|
int AddNextRow(cellElement* tree);
|
||||||
|
|
||||||
|
void removeNextCol(cellElement* list);
|
||||||
|
void removeNextRow(cellElement* list);
|
||||||
|
|
||||||
|
void recursivePrint(cellElement * tree);
|
||||||
|
|
||||||
void FreeCellElement(cellElement* element);
|
void FreeCellElement(cellElement* element);
|
||||||
|
|
||||||
|
20
main.c
20
main.c
@ -9,8 +9,22 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
#include <List.h>
|
||||||
{
|
|
||||||
printf("Hello World\n");
|
int main(int argc, char **argv){
|
||||||
|
cellElement * tree = NULL;
|
||||||
|
tree = CreateCellElem();
|
||||||
|
tree->colIndex = 1;
|
||||||
|
AddNextRow(tree);
|
||||||
|
tree->nextRow->colIndex = 2;
|
||||||
|
AddNextCol(tree);
|
||||||
|
tree->nextCol->colIndex = 3;
|
||||||
|
recursivePrint(tree);
|
||||||
|
removeNextRow(tree);
|
||||||
|
removeNextCol(tree);
|
||||||
|
|
||||||
|
recursivePrint(tree);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user