栈与队列--获取栈顶/队首数据(并出栈/队)
来源:互联网 发布:伊藤润二漫画软件 编辑:程序博客网 时间:2024/06/07 03:43
数组栈
完成ElemType Top(Stack S)函数,该函数把返回栈顶数据(不出栈),已知栈非空。
完成ElemType TopAndPop(Stack S)函数,该函数返回栈顶数据的同时把栈顶数据出栈,已知栈非空。
typedef int ElemType;struct StackRecord;typedef struct StackRecord *Stack;struct StackRecord{ int Capacity; //栈容量 int Top; //栈顶,初始为1 ElemType *Array;};ElemType Top(Stack S){ ElemType x; x=S‐>Array[S‐>Top]; return x;}ElemType TopAndPop(Stack S){ ElemType x; x=S‐>Array[S‐>Top]; S‐>Top‐‐; return x;}
链栈
完成ElemType Top(Stack S)函数,该函数返回链栈S的栈顶数据,已知S是带头结点的链栈并且S非空。
完成ElemType TopAndPop(Stack S)函数,该函数把返回链栈S栈顶数据并把栈顶数据出栈,已知S是带头结点的非空链栈。
typedef int ElemType;struct Node;typedef struct Node * PtrToNode;typedef PtrToNode Stack;struct Node{ ElemType data; PtrToNode next;};ElemType Top(Stack S){ return S‐>next‐>data;}ElemType TopAndPop(Stack S){ ElemType x=S‐>next‐>data; Stack p=NULL; p=S‐>next; S‐>next=p‐>next; free(p); return x;}
数组队列
完成ElemType Front(Queue Q)函数,该函数返回非空队列Q的队首数据(不出队),其中Q是基于数组的非循环队列。
完成ElemType FrontAndDequeue(Queue Q)函数,该函数返回非空队列Q的队首数据并将队首数据出队,其中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;};ElemType Front(Queue Q){ return Q‐>Array[Q‐>Front];}ElemType FrontAndDequeue(Queue Q){ Q‐>Front++; Q‐>Size‐‐; return Q‐>Array[Q‐>Front‐1];}
链队列
完成ElemType Front(Queue q)函数,该函数返回链表的队列q的队首数据(但不出栈),其中q是不带头节点的非空链表队列。
完成ElemType FrontAndDequeue(Queue q)函数,该函数返回非空队列q的队首数据并将队首数据出队,其中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; //队列中数据数};ElemType Front(Queue q){ return q‐>front‐>data;}ElemType FrontAndDequeue(Queue q){ ElemType x; node *p=q‐>front; q‐>front=p‐>next; x=p‐>data; free(p); q‐>size‐‐; return x;}
0 0
- 栈与队列--获取栈顶/队首数据(并出栈/队)
- Android 获取栈顶activity并在service 中弹出全局dialog解决方法
- 栈与队列--进/出-栈/队
- 两个栈实现一个队列,并实现队列入队、出队、取队头、取队尾相关操作
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
- 链栈:初始化、判断栈空、入栈、出栈、获取栈顶元素等
- C++栈的初始化,入栈,出栈,获取栈顶元素等操作
- android获取栈顶进程
- Android获取栈顶程序
- 获取栈顶Activity与判断是否有网络
- C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)
- 队列:队尾----队头 对应 栈底----栈顶 对应 序号 N----3,2,1,0
- C++实现队列进栈、出栈、打印数据
- 数据结构栈的数组实现初始化,入栈,出栈,获取栈顶元素,栈的长度等操作
- 九、堆与优先队列---(3)输出堆中元素并获取和删除堆顶元素
- java实现两个栈模拟实现队列出队
- 利用两个栈实现队列的入队出队
- 用栈实现队列入队出队操作
- 解决mysql无法远程访问只需要三步
- 为什么每个程序员都应该懂点前端知识?
- JavaScript学习笔记十二:高阶函数-filter
- kafka前台启动和后台启动
- SQL SERVER 迭代查询
- 栈与队列--获取栈顶/队首数据(并出栈/队)
- JavaScript 有多灵活?
- android:scaleType属性
- SQLSERVER分页通用存储过程
- Decorator装饰模式详解--设计模式(8)
- 关于servlet与HttpServlet的学习心得
- html经典上中下三段的布局设计
- 企业网站建设的重要性和必要性
- 数据结构 稀疏矩阵 重写函数fast_transpose,使其不用两个数组而仅用一个数组存放row_terms和starting_pos