FIFO队列 ADT接口 数组实现】的更多相关文章

FIFO.h (接口) #include "Item.h" #include <stdlib.h> typedef struct STACKnode *link; struct STACKnode { Item item; link next; }; void QUEUEinit(int); int QUEUEempty(void); void QUEUEput(Item); Item QUEUEget(void); void QUEUEerror(void); Item.…
Random queue ADT接口 RANDOM.h #include <stdlib.h> #include "Item.h" #include <time.h> #include <stdbool.h> void RANDOMQUEUEtailput(int); void RANDOMQUEUEinit(int); bool RANDOMQUEUEisFull(void); bool RANDOMQUEUEisEmpty(void); stat…
Deque ADT接口 DEQUEUE.h: #include <stdlib.h> #include "Item.h" void DEQUEUEinit(int); void DEQUEUEerror(void); Item DEQUEUEheadget(void); Item DEQUEUEtailget(void); void DEQUEUEheadput(Item); void DEQUEUEtailput(Item); int DEQUEUEisEmpty(voi…
FIFO.h (接口) #include "Item.h" void QUEUinit(int); int QUEUempty(void); void QUEUput(Item); Item QUEUget(void); Item.h (自定义类型) typedef char Item; FIFO.c (接口实现) #include "FIFO.h" #include <stdlib.h> typedef struct STACKnode *link;…
Deque ADT接口 DEQUEUE.h: #include <stdlib.h> #include "Item.h" typedef struct DEQUEUEnode *link; struct DEQUEUEnode { Item item; link next; link last; }; void DEQUEUEinit(int); void DEQUEUEerror(void); Item DEQUEUEheadget(void); Item DEQUEUE…
LIFO 栈结构 typedef int ElemenType; struct seqStack{ ElemeType data[MaxSize]; int top; }; typedef struct seqStack* Stack; LIFO 栈基本操作 //LIFO 顺序栈 初始化 void InitStack(Stack s){ s -> top = -; } //LIFO 顺序栈判断栈空 boolean StackEmpty(Stack s){ ) return true; else…
<?php /** * Filefifo.php 文件型FIFO队列 */ class Filefifo { /** * $_file_data, 数据文件的路径 */ private $_file_data = ''; /** * $_file_idx, 索引文件的路径 */ private $_file_idx = ''; /** * $_file_idx_bak, 索引备份文件的路径, 防止意外断电等导致索引文件破坏 */ private $_file_idx_bak = ''; /**…
数据结构与算法分析 栈模型 限制插入和删除只能在表的末端的表 表的末端叫做栈顶(top) 支持Push进栈和Pop入栈操作 //LIFO后进先出表 栈的实现 链表实现 类型声明 struct Node ; typedef struct Node *PtrToNode ; typedef struct Node Stack int IsEmpty(Stack S) ; Stack CreateStack(void) ; void DisposeStack(Stack S) ; void MakeE…
3.6 栈 ADT 栈是限制插入和删除只能在一个位置上进行的表,叫做栈的顶部.对栈的基本操作有进栈和出栈,进栈在顶部插入元素,出栈删除最后插入的元素. 栈是一个表,因此任何实现表的方法都能实现栈.显然 ArrayList 和 LinkedList 都支持栈操作:因为栈操作是常数时间操作,除非在非常特殊的情形下,不能产生明显改进. 栈的链表实现 在表的顶端或末端插入来实现进栈,删除顶端或末端实现出栈. 栈的数组实现 在表的末端插入实现进栈,删除末端实现出栈. 栈的应用 平衡符号 编译器检查程序语法…
/*删除表的正确方法*/ /*assume header*/ void DeleteList(List L) { Position p,Tmp; p=L->Next; while(p != NULL) { Tmp=p->Next; free(p); p = Tmp; } }//先free掉,然后再判断这个结点的Next是不是NULL,是就不做了 /*多项式ADT*/ /*多项式数组实现的类型声明*/ /*一个结构就可以表示.一个多项式*/ typedef struct{ CoeffArray[…