00001
#ifndef _QUEUE_H_
00002
#define _QUEUE_H_
00003
00004
00005
00006
00007
00008
00009
typedef struct
00010
{
00011
int* array;
00012
int size;
00013
int tail;
00014
int head;
00015 } Queue;
00016
00017
void createIntQueue(Queue* Q,
int size);
00018
void destroyIntQueue(Queue* Q);
00019
void initIntQueue(Queue* Q);
00020
short pushIntQueue(Queue* Q,
int elem);
00021
short popIntQueue(Queue* Q,
int* elem);
00022
00023
typedef struct
00024
{
00025
Peak2i* array;
00026
int size;
00027
int tail;
00028
int head;
00029 } Peak2iQueue;
00030
00031
void Peak2iQueue_create (Peak2iQueue* Q,
int size);
00032
void Peak2iQueue_destroy(Peak2iQueue* Q);
00033
void Peak2iQueue_init(Peak2iQueue* Q);
00034
int Peak2iQueue_push(Peak2iQueue* Q,
Peak2i elem);
00035
int Peak2iQueue_pop (Peak2iQueue* Q,
Peak2i* elem);
00036
void Peak2iQueue_fprint(FILE* fp, Peak2iQueue* peaks);
00037
00038
00039
void fprintIntQueue(FILE* fp, Queue* Q);
00040
00041
00042
00043
00044
#endif
00045