Skip to content
Snippets Groups Projects
Select Git revision
  • 8f1689ffb9063129bdde05132b73adc04cdfa5b7
  • main default protected
  • increment
  • features
4 results

linkedlist.h

Blame
  • linkedlist.h 1.49 KiB
    #ifndef PROG_KMEANS_LINKEDLIST_H
    #define PROG_KMEANS_LINKEDLIST_H
    
    #include <stdbool.h>
    #include "point.h"
    #include "vector.h"
    
    
    typedef struct list_points_node_int {
    	point_int_t* point;
    	struct list_points_node_int* next;
    } list_points_node_int_t;
    
    typedef struct list_points_node_fpt {
    	point_fpt_t* point;
    	struct list_points_node_fpt* next;
    } list_points_node_fpt_t;
    
    
    list_points_node_int_t* list_points_node_create_int(vector_int_t* vec);
    
    list_points_node_fpt_t* list_points_node_create_fpt(vector_fpt_t* vec);
    
    
    void list_points_node_destroy_int(list_points_node_int_t* node, const bool full);
    
    void list_points_node_destroy_fpt(list_points_node_fpt_t* node, const bool full);
    
    
    typedef struct list_points_int {
    	list_points_node_int_t* head;
    	list_points_node_int_t* tail;
    	size_t size;
    } list_points_int_t;
    
    typedef struct list_points_fpt {
    	list_points_node_fpt_t* head;
    	list_points_node_fpt_t* tail;
    	size_t size;
    } list_points_fpt_t;
    
    
    list_points_int_t* list_points_create_int();
    
    list_points_fpt_t* list_points_create_fpt();
    
    
    void list_points_destroy_int(list_points_int_t* list, const bool full);
    
    void list_points_destroy_fpt(list_points_fpt_t* list, const bool full);
    
    
    void list_points_append_int(list_points_int_t* list, vector_int_t* vector);
    
    void list_points_append_fpt(list_points_fpt_t* list, vector_fpt_t* vector);
    
    
    point_int_t** list_points_to_array_int(const list_points_int_t* list);
    
    point_fpt_t** list_points_to_array_fpt(const list_points_fpt_t* list);
    
    
    #endif //PROG_KMEANS_LINKEDLIST_H