mirror of
https://github.moeyy.xyz/https://github.com/TheAlgorithms/C.git
synced 2023-10-11 15:56:24 +08:00
68 lines
1.4 KiB
C
68 lines
1.4 KiB
C
|
/*
|
||
|
author: Christian Bender
|
||
|
public interface for the dictionary.
|
||
|
|
||
|
The dictionary prepares space for 1000 elements.
|
||
|
*/
|
||
|
|
||
|
#ifndef __DICT__H
|
||
|
#define __DICT__H
|
||
|
|
||
|
#define MAXELEMENTS 1000
|
||
|
|
||
|
/*
|
||
|
special data type called 'Dictionary'
|
||
|
for generic use
|
||
|
*/
|
||
|
typedef struct Dict
|
||
|
{
|
||
|
/*
|
||
|
void* array for generic use of the dictionary.
|
||
|
there actual saves the entries.
|
||
|
*/
|
||
|
void * elements[MAXELEMENTS];
|
||
|
|
||
|
/* contains the number of elements in this dictionary */
|
||
|
int number_of_elements;
|
||
|
|
||
|
} Dictionary;
|
||
|
|
||
|
/*
|
||
|
create_dict: is a simple constructor for creating
|
||
|
a dictionary and setting up the
|
||
|
member field 'number_of_elements'
|
||
|
and prepares the inner array 'elements'
|
||
|
*/
|
||
|
Dictionary * create_dict(void);
|
||
|
|
||
|
/*
|
||
|
add_item_label: adds item (void*) to the dictionary at given label
|
||
|
returns 0 if adding was sucessful otherwise -1
|
||
|
*/
|
||
|
int add_item_label(Dictionary *,char label[],void *);
|
||
|
|
||
|
/*
|
||
|
add_item_index: adds item (void*) to the dictionary at given index (int)
|
||
|
returns 0 if adding was sucessful otherwise -1
|
||
|
*/
|
||
|
int add_item_index(Dictionary *, int index, void *);
|
||
|
|
||
|
|
||
|
/*
|
||
|
get_element: returns the element at given label
|
||
|
*/
|
||
|
void * get_element_label(Dictionary *, char []);
|
||
|
|
||
|
|
||
|
/*
|
||
|
get_element: returns the element at given index
|
||
|
*/
|
||
|
void * get_element_index(Dictionary *, int );
|
||
|
|
||
|
/*
|
||
|
simple destrcutor function
|
||
|
*/
|
||
|
void destroy(Dictionary *);
|
||
|
|
||
|
|
||
|
#endif
|