refresh
This commit is contained in:
		
							parent
							
								
									8f469c031e
								
							
						
					
					
						commit
						abed6a1f7c
					
				@ -67,7 +67,7 @@ list_t *filter_list(list_t *list, bool (*filter)(list_element_t)) {
 | 
			
		||||
    size_t j = 0;
 | 
			
		||||
    for (size_t i = 0; i < list->length; i++) {
 | 
			
		||||
        if (filter(list->elements[i])) {
 | 
			
		||||
            new->elements[j++] = list->elements[i];
 | 
			
		||||
            new->elements[j+] = list->elements[i];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -79,8 +79,9 @@ list_t *map_list(list_t *lst, list_element_t (*func)(list_element_t)) {
 | 
			
		||||
 | 
			
		||||
    size_t n = lst->length;
 | 
			
		||||
    list_t *mapped = malloc(sizeof(list_t) + n * sizeof(list_element_t));
 | 
			
		||||
    if (mapped == NULL) return NULL;
 | 
			
		||||
 | 
			
		||||
    if (mapped == NULL) {
 | 
			
		||||
        return NULL;
 | 
			
		||||
    }
 | 
			
		||||
    mapped->length = n;
 | 
			
		||||
 | 
			
		||||
    for (size_t i = 0; i < n; ++i) {
 | 
			
		||||
@ -104,18 +105,7 @@ acc = folder(acc, lst->elements[i]);
 | 
			
		||||
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;
 | 
			
		||||
@ -124,7 +114,7 @@ list_t *reverse_list(list_t *lst) {
 | 
			
		||||
    list_t *reversed = malloc(sizeof(list_t) + n * sizeof(list_element_t));
 | 
			
		||||
    if (!reversed) return NULL;
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    reversed->length = n;
 | 
			
		||||
 | 
			
		||||
    for (size_t i = 0; i < n; ++i) {
 | 
			
		||||
        reversed->elements[i] = lst->elements[n - i - 1];
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user