Select Git revision
linkedlist.h
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