c语言面向对象:队列 (先进先出,后进先出)
先进先出队列
* Black Spoor *
****************************/
#define _BLACKSPOOR_ZFIFOCLASS_H_
{
ZListClass * fifo;
void * (*Pop)(struct ZFifoClass *);
void (*Dispose)(struct ZFifoClass *);
ZFifoClass.c
* Black Spoor *
****************************/
#include "ZFifoClass.h"
static void Dispose(struct ZFifoClass * stu);
static void Push(struct ZFifoClass *, void *);
static void * Pop(struct ZFifoClass *);
{
stu->fifo = ZListClassCreate();
stu->fifo->Init(stu->fifo);
}
{
stu->fifo->Dispose(stu->fifo);
free(stu);
}
{
ZListItemClass * zinsertitem = ZListItemClassCreate();
zinsertitem->content = content;
stu->fifo->PushItem(stu->fifo,zinsertitem);
}
{
return stu->fifo->PopItem(stu->fifo);
}
ZFifoClass * ZFifoClassCreate(void)
{
ZFifoClass * stu = (ZFifoClass *)malloc(sizeof(ZFifoClass));
stu->Dispose = Dispose;
stu->Push = Push;
stu->Pop = Pop;
}
* Black Spoor *
****************************/
#define _BLACKSPOOR_ZLIFOCLASS_H_
{
ZListClass * fifo;
void * (*Pop)(struct ZLifoClass *);
void(*Dispose)(struct ZLifoClass *);
* Black Spoor *
****************************/
#include "ZLifoClass.h"
static void Dispose(struct ZLifoClass * stu);
static void Push(struct ZLifoClass *, void *);
static void * Pop(struct ZLifoClass *);
{
stu->fifo = ZListClassCreate();
stu->fifo->Init(stu->fifo);
}
{
stu->fifo->Dispose(stu->fifo);
free(stu);
}
{
ZListItemClass * zinsertitem = ZListItemClassCreate();
zinsertitem->content = content;
stu->fifo->AppendItem(stu->fifo, zinsertitem);
}
{
return stu->fifo->PopItem(stu->fifo);
}
ZLifoClass * ZLifoClassCreate(void)
{
ZLifoClass * stu = (ZLifoClass *)malloc(sizeof(ZLifoClass));
stu->Dispose = Dispose;
stu->Push = Push;
stu->Pop = Pop;
}
c语言面向对象:队列 (先进先出,后进先出)相关推荐
- 02 C语言使用队列实现缓存模块QueueBuffer
02 C语言使用队列实现缓存模块QueueBuffer 作者 将狼才鲸 创建日期 2023-03-08 Gitee源码仓库地址:C语言使用队列实现缓存模块QueueBuffer 运行结果: jim@D ...
- c语言面向对象编程中的类_C ++中的面向对象编程
c语言面向对象编程中的类 Object oriented programming, OOP for short, aims to implement real world entities like ...
- c语言建立队列(顺序队列、循化队列和链式队列)
c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...
- C语言面向对象编程(四):面向接口编程
Java 中有 interface 关键字,C++ 中有抽象类或纯虚类可以与 interface 比拟,C 语言中也可以实现类似的特性. 在面试 Java 程序员时我经常问的一个问题是:接口和抽象类有 ...
- C语言面向对象编程(二):继承详解
在 C 语言面向对象编程(一)里说到继承,这里再详细说一下. C++ 中的继承,从派生类与基类的关系来看(出于对比 C 与 C++,只说公有继承): 派生类内部可以直接使用基类的 public .p ...
- C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
C语言实现队列ADT接口COMP2521 QueueRep结构体定义 node结构体定义 实现以下5个接口 完整头文件 完整源文件 QueueRep结构体定义 typedef struct Queue ...
- C语言面向对象编程(六):配置文件解析
在实际项目中,经常会把软件的某些选项写入配置文件. Windows 平台上的 INI 文件格式简单易用,本篇文章利用<C语言面向对象编程(五):单链表实现>中实现的单链表,设计了一个&qu ...
- G - 水陆距离 HihoCoder - 1478(广搜+队列先进先出性质)
题目: 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. Input 第一行包含两个整数,N ...
- java 168转换成861_java实验-java语言面向对象编程基础
java实验-java语言面向对象编程基础 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 8.90 积分 广州大学学生实验报告广州大学学生实验报告 ...
- java链式结构_java语言实现队列顺序结构与链式结构
本文主要向大家介绍了java语言实现队列顺序结构与链式结构,通过具体的内容向大家展示,希望对大家学习java语言有所帮助. 队列的顺序存储结构实现 public class Queue{ privat ...
最新文章
- plsql存储过程修改后怎么保存_证件照上传不成功,教你修改分辨率、调整照片大小...
- ibmm,让思维导图回归本质
- nfs:server is not responding,still trying 原因与解决方案
- C++ 11 新特性(十四)C++类
- python网络编程--UDP客户端
- Javascript之DOM(Element类型)
- ELF(Executable Linkable Format)文件存储格式
- 书籍分析实例:哈利波特的分词及人物关系
- Python Tricks(十六)—— list转换为str
- 双足机器人重心在头部_双足行走机器人及其重心调节装置制造方法及图纸
- c语言while的用法四种句型,有关while的几种用法
- vue+eleme upload 上传图片(含gif动图) canvas压缩,base64转blob对象
- html页面大于号,css中大于号()是什么意思?
- Python一小时开发彩色动态二维码生成器,并使用虚拟化境进行打包发布EXE程序。
- 免费下载shape_predictor_68_face_landmarks.dat
- CTS、CTS Verify、GTS测试以及GMS认证介绍
- 【全网最暴力解决方案】使用gdb调试时遭遇“Missing separate debuginfos, use: debuginfo-install glibc....”报错信息
- 深入理解AQS--jdk层面管程实现【管程详解的补充】
- 风云编程python基础语法(5)
- 生死学学习笔记(一)