-
Florian Burgener authoredFlorian Burgener authored
Array.h 1.28 KiB
#ifndef ARRAY_H
#define ARRAY_H
#include <stdbool.h>
#include <stdint.h>
typedef struct IntegerArray {
uint64_t *items;
int size;
} IntegerArray;
int lower_bound(IntegerArray *array, uint64_t item);
IntegerArray *IntegerArray_init(int capacity);
void IntegerArray_destroy(IntegerArray **array);
int IntegerArray_insert_sorted(IntegerArray *array, uint64_t item);
void IntegerArray_insert_at_index(IntegerArray *array, int index, uint64_t item);
void IntegerArray_append(IntegerArray *array, uint64_t item);
bool IntegerArray_binary_search(IntegerArray *array, uint64_t item, int *index);
void IntegerArray_delete_sorted(IntegerArray *array, uint64_t item);
void IntegerArray_print(IntegerArray *array);
void IntegerArray_clear(IntegerArray *array);
void IntegerArray_copy(IntegerArray *src, IntegerArray *dest);
typedef struct BPTreeNode BPTreeNode;
typedef struct BPTreeNodeArray {
BPTreeNode **items;
int size;
} BPTreeNodeArray;
BPTreeNodeArray *BPTreeNodeArray_init(int capacity);
void BPTreeNodeArray_destroy(BPTreeNodeArray **array);
void BPTreeNodeArray_insert_at_index(BPTreeNodeArray *array, int index, BPTreeNode *item);
void BPTreeNodeArray_append(BPTreeNodeArray *array, BPTreeNode *item);
void BPTreeNodeArray_delete_at_index(BPTreeNodeArray *array, int index);
#endif