Sha256: 0c7e0aae265c5f721571d2bbf92ce0e4b6075adf56368acf5eb945e8c61622c9

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

#ifndef PRIORITIZED_ITEM_LIST_H
#define PRIORITIZED_ITEM_LIST_H

#include <ruby.h>

struct PrioritizedItemStruct;
typedef struct PrioritizedItemStruct* PrioritizedItem;

typedef struct PrioritizedItemStruct {
  int item;
  int priority;
} PrioritizedItemStruct;

//////////////////////////////////////////////////////////////////////////////////////

struct PrioritizedItemListStruct;
typedef struct PrioritizedItemListStruct* PrioritizedItemList;

typedef struct PrioritizedItemListStruct {
  PrioritizedItem *priorities;
  int *indices;
  int capacity;
  int last;
} PrioritizedItemListStruct;

//////////////////////////////////////////////////////////////////////////////////////

PrioritizedItemList make_prioritized_item_list(int capacity);
bool empty_prioritized_item_list(PrioritizedItemList list);
bool in_prioritized_item_list(PrioritizedItemList list, int item);
int next_prioritized_item(PrioritizedItemList list);
void update_prioritized_item(PrioritizedItemList list, int item, int priority);
void print_prioritized_item_list(PrioritizedItemList list);
int get_priority(PrioritizedItemList list, int item);
void free_prioritized_item_list(PrioritizedItemList list);

//////////////////////////////////////////////////////////////////////////////////////

#endif

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dijkstra_fast-1.4.2 ext/dijkstra_fast/prioritized_item_list.h