00001 00011 #ifndef _QUEUE_ 00012 #define _QUEUE_ 00013 00014 #include "iterator.h" 00015 00019 typedef struct sQueueNode 00020 { 00022 void *inf; 00024 struct sQueueNode *next; 00025 }SQueueNode; 00026 00030 typedef SQueueNode* QueueNode; 00031 00035 typedef struct sQueue 00036 { 00038 int size; 00040 QueueNode head; 00042 QueueNode last; 00043 }SQueue; 00044 00048 typedef SQueue* Queue; 00049 00050 //############################################################################## 00051 00058 Queue newQueue(); 00059 00068 void queueDelete(Queue queue); 00069 00081 int queueInsert(Queue queue,void *inf); 00082 00097 int queueRemove(Queue queue,void** inf); 00098 00114 int queueConsult(Queue queue,void **inf); 00115 00124 int queueSize(Queue queue); 00125 00136 int queueMap(Queue queue,void(*fun)(void*)); 00137 00148 Iterator queueIterator(Queue queue); 00149 00150 #endif