⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qqd.h

📁 国外网站上的一些精典的C程序
💻 H
字号:
/************************************************************************/
/*                                                                      */
/*  QQD.H - Contains declarations for double-ended queue functions for  */
/*         doubles.                                                     */
/*                                                                      */
/*  Public domain by Bob Stout                                          */
/*                                                                      */
/************************************************************************/

#ifndef QQD_H
#define QQD_H

#include <stddef.h>
#include "sniptype.h"

extern const VAR64_     QQD_NaN;
#define QQD_EMPTY       QQD_NaN.d   /* NaN  */

struct QQD {
      double    *queue;
      size_t    len;
      size_t    head;
      size_t    tail;
      Boolean_T full;
};

/*
**  File: QQ.C prototypes
*/

Boolean_T   QQDopen(struct QQD **queue, size_t len);
void        QQDclose(struct QQD **queue);

/*
**  FIFO Functions
*/

Boolean_T   QQDenqueue(struct QQD *queue, double datum);
double      QQDdequeue(struct QQD *queue);
double      QQDpeekF(struct QQD *queue);

/*
**  LIFO Functions
*/

Boolean_T   QQDpush(struct QQD *queue, double datum);
double      QQDpop(struct QQD *queue);
double      QQDpeekL(struct QQD *queue);

/*
**  Maintenance Functions
*/

void        QQDqflush(struct QQD *queue);
Boolean_T   QQDisfull(struct QQD *queue);
Boolean_T   QQDisempty(struct QQD *queue);
size_t      QQDnum_enqueued(struct QQD *queue);

void        QQDdump(struct QQD *queue);

#endif /* QQD_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -