refresh
This commit is contained in:
		
							parent
							
								
									3ad4d92adc
								
							
						
					
					
						commit
						73d906603a
					
				
							
								
								
									
										4
									
								
								du6/list_ops.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								du6/list_ops.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include "list_ops.h"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										28
									
								
								du6/list_ops.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								du6/list_ops.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
#ifndef LIST_OPS_H
 | 
			
		||||
#define LIST_OPS_H
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
 | 
			
		||||
typedef int list_element_t;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
   size_t length;
 | 
			
		||||
   list_element_t elements[];
 | 
			
		||||
} list_t;
 | 
			
		||||
 | 
			
		||||
list_t *new_list(size_t length, list_element_t elements[]);
 | 
			
		||||
list_t *append_list(list_t *list1, list_t *list2);
 | 
			
		||||
list_t *filter_list(list_t *list, bool (*filter)(list_element_t));
 | 
			
		||||
size_t length_list(list_t *list);
 | 
			
		||||
list_t *map_list(list_t *list, list_element_t (*map)(list_element_t));
 | 
			
		||||
list_element_t foldl_list(list_t *list, list_element_t initial,
 | 
			
		||||
                          list_element_t (*foldl)(list_element_t,
 | 
			
		||||
                                                  list_element_t));
 | 
			
		||||
list_element_t foldr_list(list_t *list, list_element_t initial,
 | 
			
		||||
                          list_element_t (*foldr)(list_element_t,
 | 
			
		||||
                                                  list_element_t));
 | 
			
		||||
list_t *reverse_list(list_t *list);
 | 
			
		||||
void delete_list(list_t *list);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user