diff --git a/docs/code/Ejemplos/Tema_3/copyList.c b/docs/code/Ejemplos/Tema_3/copyList.c index 8aebdb2..5a8bc97 100644 --- a/docs/code/Ejemplos/Tema_3/copyList.c +++ b/docs/code/Ejemplos/Tema_3/copyList.c @@ -1,2 +1,30 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +bool copyList(tlist L, tList *M) { + tPosl p, q, r; + bool ret = true; + + createEmptyList(M); + if (!isEmptyList(L)) { + p = L; + while ((p != LNULL) && createNode(&r)) { + r->data = p->data; + r->next = LNULL; + if (p == L) { + *M = r; + q = r; + } else { + q->next = r; + q = r; + } + p = p->next; + } + if (p != LNULL) { + deleteList(M); + ret = false; + } + } + return ret; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/createEmptyList.c b/docs/code/Ejemplos/Tema_3/createEmptyList.c index 8aebdb2..938d9ec 100644 --- a/docs/code/Ejemplos/Tema_3/createEmptyList.c +++ b/docs/code/Ejemplos/Tema_3/createEmptyList.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void createEmptyList(tList *lista) { + lista->indice = LNULL; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/deleteAtPosition.c b/docs/code/Ejemplos/Tema_3/deleteAtPosition.c index 8aebdb2..bc58060 100644 --- a/docs/code/Ejemplos/Tema_3/deleteAtPosition.c +++ b/docs/code/Ejemplos/Tema_3/deleteAtPosition.c @@ -1,2 +1,16 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void deleteAtPosition(tPosL pos, tList *lista) { + tPosl posAux; + + if (pos == *lista) + *lista = (*lista)->next; + else { + for (posAux = *lista; posAux->next != pos; posAux = posAux->next); + posAux->next = pos->next; + } + + free(pos); +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/deleteList.c b/docs/code/Ejemplos/Tema_3/deleteList.c index 8aebdb2..53238aa 100644 --- a/docs/code/Ejemplos/Tema_3/deleteList.c +++ b/docs/code/Ejemplos/Tema_3/deleteList.c @@ -1,2 +1,12 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void deleteList(tList *lista) { + tPosL posAux; + while (*lista != LNULL) { + posAux = *lista; + *lista = (*lista)->next; + free(posAux); + } +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/findItem.c b/docs/code/Ejemplos/Tema_3/findItem.c index 8aebdb2..a6ebfc4 100644 --- a/docs/code/Ejemplos/Tema_3/findItem.c +++ b/docs/code/Ejemplos/Tema_3/findItem.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL findItem(tItem item, tList lista) { + tPosL posAux; + for (posAux = lista; (posAux != LNULL) && (posAux->data != item); posAux = posAux->next); + return posAux; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/first.c b/docs/code/Ejemplos/Tema_3/first.c index 8aebdb2..30f3edb 100644 --- a/docs/code/Ejemplos/Tema_3/first.c +++ b/docs/code/Ejemplos/Tema_3/first.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL first(tList lista) { + return lista; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/getItem.c b/docs/code/Ejemplos/Tema_3/getItem.c index 8aebdb2..60f4d7d 100644 --- a/docs/code/Ejemplos/Tema_3/getItem.c +++ b/docs/code/Ejemplos/Tema_3/getItem.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tItem getItem(tPosL pos, tList lista) { + return pos->data; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/isEmptyList.c b/docs/code/Ejemplos/Tema_3/isEmptyList.c index 8aebdb2..1db37ab 100644 --- a/docs/code/Ejemplos/Tema_3/isEmptyList.c +++ b/docs/code/Ejemplos/Tema_3/isEmptyList.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +bool isEmptyList(tLIst lista) { + return lista == LNULL; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/last.c b/docs/code/Ejemplos/Tema_3/last.c index 8aebdb2..ca73d83 100644 --- a/docs/code/Ejemplos/Tema_3/last.c +++ b/docs/code/Ejemplos/Tema_3/last.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL last(tList lista) { + tPosL posAux; + for (posAux = lista; posAux->next != LNULL; posAux->next); + return posAux; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/next.c b/docs/code/Ejemplos/Tema_3/next.c index 8aebdb2..85b1487 100644 --- a/docs/code/Ejemplos/Tema_3/next.c +++ b/docs/code/Ejemplos/Tema_3/next.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL next(tPosL pos, tList lista) { + return pos->next; +} diff --git a/docs/code/Ejemplos/Tema_3/previous.c b/docs/code/Ejemplos/Tema_3/previous.c index 8aebdb2..bf50e71 100644 --- a/docs/code/Ejemplos/Tema_3/previous.c +++ b/docs/code/Ejemplos/Tema_3/previous.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL previous(tPosL pos, tList L) { + tPosL posAux; + for (posAux = L; posAux->next != pos; posAux = posAux->next); + return posAux; +} \ No newline at end of file diff --git a/docs/code/Ejemplos/Tema_3/updateItem.c b/docs/code/Ejemplos/Tema_3/updateItem.c index 8aebdb2..053a39d 100644 --- a/docs/code/Ejemplos/Tema_3/updateItem.c +++ b/docs/code/Ejemplos/Tema_3/updateItem.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void updateItem(tItem item, tPosL pos, tList *lista) { + pos->data = item; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/copyList.c b/src/Ejemplos/Tema_3/copyList.c index 8aebdb2..5a8bc97 100644 --- a/src/Ejemplos/Tema_3/copyList.c +++ b/src/Ejemplos/Tema_3/copyList.c @@ -1,2 +1,30 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +bool copyList(tlist L, tList *M) { + tPosl p, q, r; + bool ret = true; + + createEmptyList(M); + if (!isEmptyList(L)) { + p = L; + while ((p != LNULL) && createNode(&r)) { + r->data = p->data; + r->next = LNULL; + if (p == L) { + *M = r; + q = r; + } else { + q->next = r; + q = r; + } + p = p->next; + } + if (p != LNULL) { + deleteList(M); + ret = false; + } + } + return ret; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/createEmptyList.c b/src/Ejemplos/Tema_3/createEmptyList.c index 8aebdb2..938d9ec 100644 --- a/src/Ejemplos/Tema_3/createEmptyList.c +++ b/src/Ejemplos/Tema_3/createEmptyList.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void createEmptyList(tList *lista) { + lista->indice = LNULL; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/deleteAtPosition.c b/src/Ejemplos/Tema_3/deleteAtPosition.c index 8aebdb2..bc58060 100644 --- a/src/Ejemplos/Tema_3/deleteAtPosition.c +++ b/src/Ejemplos/Tema_3/deleteAtPosition.c @@ -1,2 +1,16 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void deleteAtPosition(tPosL pos, tList *lista) { + tPosl posAux; + + if (pos == *lista) + *lista = (*lista)->next; + else { + for (posAux = *lista; posAux->next != pos; posAux = posAux->next); + posAux->next = pos->next; + } + + free(pos); +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/deleteList.c b/src/Ejemplos/Tema_3/deleteList.c index 8aebdb2..53238aa 100644 --- a/src/Ejemplos/Tema_3/deleteList.c +++ b/src/Ejemplos/Tema_3/deleteList.c @@ -1,2 +1,12 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void deleteList(tList *lista) { + tPosL posAux; + while (*lista != LNULL) { + posAux = *lista; + *lista = (*lista)->next; + free(posAux); + } +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/findItem.c b/src/Ejemplos/Tema_3/findItem.c index 8aebdb2..a6ebfc4 100644 --- a/src/Ejemplos/Tema_3/findItem.c +++ b/src/Ejemplos/Tema_3/findItem.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL findItem(tItem item, tList lista) { + tPosL posAux; + for (posAux = lista; (posAux != LNULL) && (posAux->data != item); posAux = posAux->next); + return posAux; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/first.c b/src/Ejemplos/Tema_3/first.c index 8aebdb2..30f3edb 100644 --- a/src/Ejemplos/Tema_3/first.c +++ b/src/Ejemplos/Tema_3/first.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL first(tList lista) { + return lista; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/getItem.c b/src/Ejemplos/Tema_3/getItem.c index 8aebdb2..60f4d7d 100644 --- a/src/Ejemplos/Tema_3/getItem.c +++ b/src/Ejemplos/Tema_3/getItem.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tItem getItem(tPosL pos, tList lista) { + return pos->data; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/isEmptyList.c b/src/Ejemplos/Tema_3/isEmptyList.c index 8aebdb2..1db37ab 100644 --- a/src/Ejemplos/Tema_3/isEmptyList.c +++ b/src/Ejemplos/Tema_3/isEmptyList.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +bool isEmptyList(tLIst lista) { + return lista == LNULL; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/last.c b/src/Ejemplos/Tema_3/last.c index 8aebdb2..ca73d83 100644 --- a/src/Ejemplos/Tema_3/last.c +++ b/src/Ejemplos/Tema_3/last.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL last(tList lista) { + tPosL posAux; + for (posAux = lista; posAux->next != LNULL; posAux->next); + return posAux; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/next.c b/src/Ejemplos/Tema_3/next.c index 8aebdb2..85b1487 100644 --- a/src/Ejemplos/Tema_3/next.c +++ b/src/Ejemplos/Tema_3/next.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL next(tPosL pos, tList lista) { + return pos->next; +} diff --git a/src/Ejemplos/Tema_3/previous.c b/src/Ejemplos/Tema_3/previous.c index 8aebdb2..bf50e71 100644 --- a/src/Ejemplos/Tema_3/previous.c +++ b/src/Ejemplos/Tema_3/previous.c @@ -1,2 +1,9 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +tPosL previous(tPosL pos, tList L) { + tPosL posAux; + for (posAux = L; posAux->next != pos; posAux = posAux->next); + return posAux; +} \ No newline at end of file diff --git a/src/Ejemplos/Tema_3/updateItem.c b/src/Ejemplos/Tema_3/updateItem.c index 8aebdb2..053a39d 100644 --- a/src/Ejemplos/Tema_3/updateItem.c +++ b/src/Ejemplos/Tema_3/updateItem.c @@ -1,2 +1,7 @@ -// EN CONSTRUCCIÓN -// COLABORA https://github.com/TeenBiscuits/Pro2324 \ No newline at end of file +// SPDX-FileCopyrightText: 2024 Eliana Reigada +// +// SPDX-License-Identifier: GPL-3.0-only + +void updateItem(tItem item, tPosL pos, tList *lista) { + pos->data = item; +} \ No newline at end of file