栈与队列--置空/销毁-栈/队列
来源:互联网 发布:软件开发培训班价格 编辑:程序博客网 时间:2024/04/30 06:59
数组栈
完成void MakeEmpty(Stack S)函数,该函数把栈置空(但不释放空间)。
完成Stack DisposeStack(Stack S)函数,该函数销毁数组栈(释放数组空间与栈空间),返回NULL指针。
typedef int ElemType;struct StackRecord;typedef struct StackRecord *Stack;struct StackRecord{ int Capacity; //栈容量 int Top; //栈顶,初始为1 ElemType *Array;};void MakeEmpty(Stack S){ S‐>Top=‐1;}Stack DisposeStack(Stack S){ S‐>Top=‐1; free(S); return NULL;}
链栈
完成void MakeEmpty(Stack S)函数,该函数把链栈置空(释放数据结点空间,但不释放头结点),已知S是带头结点的链栈。
完成Stack DisposeStack(Stack S)函数,该函数销毁链栈S,已知S是带头结点的链栈。
typedef int ElemType;struct Node;typedef struct Node * PtrToNode;typedef PtrToNode Stack;struct Node{ ElemType data; PtrToNode next;};void MakeEmpty(Stack S){ Stack p,q; p=S‐>next; while(p) { q=p; p=p‐>next; free(q); } S‐>next=NULL;}Stack DisposeStack(Stack S){ Stack r; while(S) { r=S‐>next; free(S); S=r; } return NULL;}
数组队列
完成void MakeEmpty(Queue Q)函数,该函数将队列Q置空(不释放空间),其中Q是基于数组的非循环队列。
完成Queue DisposeQueue(Queue Q)函数,该函数销毁队列Q(释放所有空间)并返回NULL指针,其中Q是基于数组的非循环队列。
typedef int ElemType;struct QueueRecord;typedef struct QueueRecord * Queue;struct QueueRecord{ int Capacity; //队列总容量 int Front; //队首 初始值为0 int Rear; //队尾,初始值为1 int Size; //队列中数据数,初始值为0 ElemType *Array;};void MakeEmpty(Queue Q){ Q‐>Front=0; Q‐>Rear=‐1; Q‐>Size=0;}Queue DisposeQueue(Queue Q){ free(Q); return NULL;}
链队列
完成void MakeEmpty(Queue q)函数,该函数将队列q清空(释放队列中所有数据的空间,但不释放队列空间,即把队列清空为空队列),其中q是不带头节点的链表队列。
完成Queue DisposeQueue(Queue q)函数,该函数销毁队列q(释放所有空间),返回NULL指针,其中q是不带头节点的链表队列。
typedef int ElemType;struct node;typedef struct node Node;struct queue;typedef struct queue * Queue;struct node{ ElemType data; Node * next;};struct queue{ Node * front; //队首 Node * rear; //队尾 int size; //队列中数据数};void MakeEmpty(Queue q){ node *p=q‐>front; node *t; while(p!=q‐>rear) { t=p; p=p‐>next; free(t); } q‐>front=q‐>rear=NULL; q‐>size=0;}Queue DisposeQueue(Queue q){ free(q); return NULL;}
0 0
- 栈与队列--置空/销毁-栈/队列
- 栈与队列--判断栈/队列为空/满
- 栈与队列->队列
- 栈、队列与优先队列
- 队列:出队、入队、销毁、清空等
- 栈与队列--创建栈/队列
- 栈与队列-单调栈,单调队列
- 7.7 栈与队列-队列及其操作
- 栈、队列与优先队列的认识
- 数据结构与算法--栈、队列(队列)
- c之队列相关操作------初始化,入队,出队,队列清空,销毁,遍历
- 栈与队列
- 堆与栈 队列
- 队列与栈
- 16 栈与队列
- 栈与队列
- 【数据结构】栈与队列
- 栈与队列
- dom 节点(文档对象模型)详细介绍
- Windows7+VS2012下64位OpenCV3.0+CUDA7.5的编译和部署
- Quartz2D简单使用(一)
- eclipse maven 发布到tomcat
- 大数乘法与大数加法 java实现
- 栈与队列--置空/销毁-栈/队列
- 标准库类型string
- 【HGE引擎】API使用一些诡异现象
- 用开源工具Xplico助力网络应用层数据解码
- IOC控制反转
- xcode两个小知识
- 关于工作中的思考能力
- php 读取表结构自动生成php操作类
- Windows多线程编程总结