00001 #ifdef __cplusplus
00002 extern "C" {
00003 #endif
00004
00005 #ifndef CDSA_ALGORITHMS_H
00006 #define CDSA_ALGORITHMS_H
00007
00008 #include <stdbool.h>
00009 #include <time.h>
00010
00011 #include "utils.h"
00012
00041 cdsa_status_t cdsa_heap_sort(void *arr, size_t nmemb, size_t ptrsize,
00042 cdsa_compare_func_t compare);
00043
00063 cdsa_status_t cdsa_partition_data(void *arr, size_t nmemb, size_t w,
00064 cdsa_compare_func_t compare, int *index);
00065
00084 cdsa_status_t cdsa_partition_ptrs(void *arr, size_t nmemb, size_t w,
00085 cdsa_compare_func_t compare, int *index);
00086
00109 cdsa_status_t cdsa_select_data(void *arr, size_t nmemb, size_t w, size_t k,
00110 cdsa_compare_func_t compare);
00111
00134 cdsa_status_t cdsa_select_ptrs(void *arr, size_t nmemb, size_t w, size_t k,
00135 cdsa_compare_func_t compare);
00136
00137 #endif
00138
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142