diff --git a/docs/cfg/humans.txt b/docs/cfg/humans.txt index 3fc4284..269a087 100644 --- a/docs/cfg/humans.txt +++ b/docs/cfg/humans.txt @@ -10,7 +10,7 @@ Creado gracias a: ¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ ´¶¶¶¶¶´ - Pablo R. ´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ - Nuria Gómez ´´´´´¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶ - Eliana Reigada -´´´´´´´¶¶¶¶¶¶¶¶¶¶¶¶¶ +´´´´´´´¶¶¶¶¶¶¶¶¶¶¶¶¶ - Fernando Álvarez ´´´´´´´´´¶¶¶¶¶¶¶¶ ´´´´´´´´´´´¶¶¶¶ diff --git a/docs/code/Ejemplos/Tema_3/copyList.c b/docs/code/Ejemplos/Tema_3/copyList.c index 5a8bc97..4da64c7 100644 --- a/docs/code/Ejemplos/Tema_3/copyList.c +++ b/docs/code/Ejemplos/Tema_3/copyList.c @@ -2,18 +2,18 @@ // // SPDX-License-Identifier: GPL-3.0-only -bool copyList(tlist L, tList *M) { +bool copyList(tlist listaDest, tList *listaOrig) { tPosl p, q, r; bool ret = true; - createEmptyList(M); - if (!isEmptyList(L)) { - p = L; + createEmptyList(listaOrig); + if (!isEmptyList(listaDest)) { + p = listaDest; while ((p != LNULL) && createNode(&r)) { r->data = p->data; r->next = LNULL; - if (p == L) { - *M = r; + if (p == listaDest) { + *listaOrig = r; q = r; } else { q->next = r; @@ -22,7 +22,7 @@ bool copyList(tlist L, tList *M) { p = p->next; } if (p != LNULL) { - deleteList(M); + deleteList(listaOrig); ret = false; } } diff --git a/docs/code/Ejemplos/Tema_3/insertItem.c b/docs/code/Ejemplos/Tema_3/insertItem.c index 8aebdb2..d3b1aea 100644 --- a/docs/code/Ejemplos/Tema_3/insertItem.c +++ b/docs/code/Ejemplos/Tema_3/insertItem.c @@ -1,2 +1,37 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool insertItem(tItemL item, tPosL pos, tList *lista) { + + tPosL posAux; + if (!createNode(&posAux)) { + + return false; + + } else { + + posAux->data = item; + posAux->next = LNULL; //por si acaso + } + if (isEmptyList(*lista)) { + + *lista = posAux; + } else if (pos == LNULL) { + + last(*lista)->next = posAux; + + } else if (pos == *lista) { + + posAux->next = pos; + *lista = posAux; + + } else { + + posAux->next = pos->next; + pos->next = posAux; + posAux->data = pos->data; + pos->data = item; + } + return true; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/insertItem_Ordenada.c b/docs/code/Ejemplos/Tema_3/insertItem_Ordenada.c index 8aebdb2..70c1ca6 100644 --- a/docs/code/Ejemplos/Tema_3/insertItem_Ordenada.c +++ b/docs/code/Ejemplos/Tema_3/insertItem_Ordenada.c @@ -1,2 +1,36 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool insertItem(tItemL item, tList *lista) { + + tPosL q,p; + if (!createNode(&q)) { + + return false; + + } else { + + q->data = item; + q->next = LNULL; //por si acaso + } + if (isEmptyList(*lista)) { + + *lista = q; + } + else if(item < (*lista)->data){ + + q->next = *lista; + *lista = q; + + } + else{ + + p = findPosition(*lista,item); + q->next = p->next; + p->next = q; + + + } + return true; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_4/createEmptyQueue.c b/docs/code/Ejemplos/Tema_4/createEmptyQueue.c index 8aebdb2..4c15d71 100644 --- a/docs/code/Ejemplos/Tema_4/createEmptyQueue.c +++ b/docs/code/Ejemplos/Tema_4/createEmptyQueue.c @@ -1,2 +1,10 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +void createEmptyQueue(tQueue *cola){ + + cola->front = QNULL; + cola->rear = QNULL; + +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_4/dequeue.c b/docs/code/Ejemplos/Tema_4/dequeue.c index 8aebdb2..22eb46e 100644 --- a/docs/code/Ejemplos/Tema_4/dequeue.c +++ b/docs/code/Ejemplos/Tema_4/dequeue.c @@ -1,2 +1,16 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +void dequeue(tQueue *cola){ + + tPosQ aux; + aux = cola->front; + cola->front = aux->next; + if(cola->front == QNULL){ + + cola->rear = QNULL; + } + free(aux); + +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_4/enqueue.c b/docs/code/Ejemplos/Tema_4/enqueue.c index 8aebdb2..b538be6 100644 --- a/docs/code/Ejemplos/Tema_4/enqueue.c +++ b/docs/code/Ejemplos/Tema_4/enqueue.c @@ -1,2 +1,30 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool enqueue(tItemQ item,tQueue *cola){ + + tPosQ aux; + + if(!createNode(&aux)){ + + return false; + } + else{ + + aux->data=item; + aux->next=QNULL; + + if(cola->front == QNULL){ + cola->front = aux; + + } + else{ + cola->rear->next = aux; + } + cola->rear = aux; + + return true; + } + +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_4/front.c b/docs/code/Ejemplos/Tema_4/front.c index 8aebdb2..78ad831 100644 --- a/docs/code/Ejemplos/Tema_4/front.c +++ b/docs/code/Ejemplos/Tema_4/front.c @@ -1,2 +1,8 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +tItemQ front(tQueue cola){ + + return cola.front->data; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_4/isEmptyQueue.c b/docs/code/Ejemplos/Tema_4/isEmptyQueue.c index 8aebdb2..390ed3d 100644 --- a/docs/code/Ejemplos/Tema_4/isEmptyQueue.c +++ b/docs/code/Ejemplos/Tema_4/isEmptyQueue.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool isEmptyQueue(tQueue cola){ + + return(cola.front == QNULL); + +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/copyList.c b/src/Ejemplos/Tema_3/copyList.c index 5a8bc97..4da64c7 100644 --- a/src/Ejemplos/Tema_3/copyList.c +++ b/src/Ejemplos/Tema_3/copyList.c @@ -2,18 +2,18 @@ // // SPDX-License-Identifier: GPL-3.0-only -bool copyList(tlist L, tList *M) { +bool copyList(tlist listaDest, tList *listaOrig) { tPosl p, q, r; bool ret = true; - createEmptyList(M); - if (!isEmptyList(L)) { - p = L; + createEmptyList(listaOrig); + if (!isEmptyList(listaDest)) { + p = listaDest; while ((p != LNULL) && createNode(&r)) { r->data = p->data; r->next = LNULL; - if (p == L) { - *M = r; + if (p == listaDest) { + *listaOrig = r; q = r; } else { q->next = r; @@ -22,7 +22,7 @@ bool copyList(tlist L, tList *M) { p = p->next; } if (p != LNULL) { - deleteList(M); + deleteList(listaOrig); ret = false; } } diff --git a/src/Ejemplos/Tema_3/insertItem.c b/src/Ejemplos/Tema_3/insertItem.c index 8aebdb2..d3b1aea 100644 --- a/src/Ejemplos/Tema_3/insertItem.c +++ b/src/Ejemplos/Tema_3/insertItem.c @@ -1,2 +1,37 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool insertItem(tItemL item, tPosL pos, tList *lista) { + + tPosL posAux; + if (!createNode(&posAux)) { + + return false; + + } else { + + posAux->data = item; + posAux->next = LNULL; //por si acaso + } + if (isEmptyList(*lista)) { + + *lista = posAux; + } else if (pos == LNULL) { + + last(*lista)->next = posAux; + + } else if (pos == *lista) { + + posAux->next = pos; + *lista = posAux; + + } else { + + posAux->next = pos->next; + pos->next = posAux; + posAux->data = pos->data; + pos->data = item; + } + return true; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/insertItem_Ordenada.c b/src/Ejemplos/Tema_3/insertItem_Ordenada.c index 8aebdb2..70c1ca6 100644 --- a/src/Ejemplos/Tema_3/insertItem_Ordenada.c +++ b/src/Ejemplos/Tema_3/insertItem_Ordenada.c @@ -1,2 +1,36 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool insertItem(tItemL item, tList *lista) { + + tPosL q,p; + if (!createNode(&q)) { + + return false; + + } else { + + q->data = item; + q->next = LNULL; //por si acaso + } + if (isEmptyList(*lista)) { + + *lista = q; + } + else if(item < (*lista)->data){ + + q->next = *lista; + *lista = q; + + } + else{ + + p = findPosition(*lista,item); + q->next = p->next; + p->next = q; + + + } + return true; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_4/createEmptyQueue.c b/src/Ejemplos/Tema_4/createEmptyQueue.c index 8aebdb2..4c15d71 100644 --- a/src/Ejemplos/Tema_4/createEmptyQueue.c +++ b/src/Ejemplos/Tema_4/createEmptyQueue.c @@ -1,2 +1,10 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +void createEmptyQueue(tQueue *cola){ + + cola->front = QNULL; + cola->rear = QNULL; + +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_4/dequeue.c b/src/Ejemplos/Tema_4/dequeue.c index 8aebdb2..22eb46e 100644 --- a/src/Ejemplos/Tema_4/dequeue.c +++ b/src/Ejemplos/Tema_4/dequeue.c @@ -1,2 +1,16 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +void dequeue(tQueue *cola){ + + tPosQ aux; + aux = cola->front; + cola->front = aux->next; + if(cola->front == QNULL){ + + cola->rear = QNULL; + } + free(aux); + +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_4/enqueue.c b/src/Ejemplos/Tema_4/enqueue.c index 8aebdb2..b538be6 100644 --- a/src/Ejemplos/Tema_4/enqueue.c +++ b/src/Ejemplos/Tema_4/enqueue.c @@ -1,2 +1,30 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool enqueue(tItemQ item,tQueue *cola){ + + tPosQ aux; + + if(!createNode(&aux)){ + + return false; + } + else{ + + aux->data=item; + aux->next=QNULL; + + if(cola->front == QNULL){ + cola->front = aux; + + } + else{ + cola->rear->next = aux; + } + cola->rear = aux; + + return true; + } + +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_4/front.c b/src/Ejemplos/Tema_4/front.c index 8aebdb2..78ad831 100644 --- a/src/Ejemplos/Tema_4/front.c +++ b/src/Ejemplos/Tema_4/front.c @@ -1,2 +1,8 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +tItemQ front(tQueue cola){ + + return cola.front->data; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_4/isEmptyQueue.c b/src/Ejemplos/Tema_4/isEmptyQueue.c index 8aebdb2..390ed3d 100644 --- a/src/Ejemplos/Tema_4/isEmptyQueue.c +++ b/src/Ejemplos/Tema_4/isEmptyQueue.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2023 Fernando Álvarez +// +// SPDX-License-Identifier: GPL-3.0-only + +bool isEmptyQueue(tQueue cola){ + + return(cola.front == QNULL); + +} \ No newline at end of file