You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
940 B

#ifndef H_HEAP
#define H_HEAP
//--------------Includes-----------------
#include"ostypes.h"
//--------------Functions----------------
static inline uint8_t osHeapChildL(uint8_t iind);
static inline uint8_t osHeapChildR(uint8_t iind);
static inline uint8_t osHeapParent(uint8_t iind);
static inline uint8_t osHeapSize(osHeapNode_t* ioarray);
static inline void osHeapDelete(osHeapNode_t* ioarray, uint8_t ii);
void osHeapInit(osHeapNode_t* ioarray);
static inline void osHeapSwap(osHeapNode_t* ioarray, uint8_t ia, uint8_t ib);
void osHeapHeapify(osHeapNode_t* ioarray, uint8_t iind);
void osHeapBuild(osHeapNode_t* ioarray);
uint8_t osHeapMaximum(osHeapNode_t* ioarray, osHeapNode_t* iomax);
uint8_t osHeapExtractMaximum(osHeapNode_t* ioarray, osHeapNode_t* iomax);
uint8_t osHeapInsert(osHeapNode_t* ioarray, osHeapNode_t x);
void osHeapPrintS(osHeapNode_t* ioarray);
uint8_t osHeapIsEmpty(osHeapNode_t* ioarray);
#endif