From 79818d918a5bcd2e21e7e5359b98d20091043a7c Mon Sep 17 00:00:00 2001 From: ov075wu Date: Thu, 17 Apr 2025 13:41:21 +0200 Subject: [PATCH] refresh --- du6/list_ops.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/du6/list_ops.c b/du6/list_ops.c index 07ea563..fa8a5ef 100644 --- a/du6/list_ops.c +++ b/du6/list_ops.c @@ -96,10 +96,10 @@ list_element_t foldl_list(list_t *lst, list_element_t init, list_element_t (*folder)(list_element_t, list_element_t)) { list_element_t acc = init; -if (lst && folder) { -for (size_t i = 0; i < lst->length; ++i) { -acc = folder(acc, lst->elements[i]); -} + if (lst && folder) { + for (size_t i = 0; i < lst->length; ++i) { + acc = folder(acc, lst->elements[i]); + } } return acc; @@ -107,6 +107,22 @@ return acc; +list_element_t foldr_list(list_t *lst, list_element_t init, + list_element_t (*folder)(list_element_t, list_element_t)) { +list_element_t acc = init; + + if (lst && folder) { + for (size_t i = lst->length; i > 0; --i) { + acc = folder(lst->elements[i - 1], acc); + } +} + +return acc; +} + + + + list_t *reverse_list(list_t *lst) { if (!lst) return NULL;