栈和队列
Vivid-victory
○( ^皿^)っHiahiahia…
展开
-
数据结构——栈与队列操作(用栈模拟队列)
【栈与队列操作】问题描述:假设有两个长度相同的栈 S1,S2,已知以下入栈、出栈、判栈满和判栈空操作:void Push(S,x);Elemtype Pop(S);bool StackFull(S);bool StackEmpty(S);现用这两个栈构成一个队列,实现入队列、出队列操作的算法:bool EnQueue(x);Elemtype DeQueue(S);要求:(1)设...原创 2018-11-13 20:27:31 · 880 阅读 · 0 评论 -
数据结构——静态顺序栈的基本操作
代码主要来源:【数据结构】【清华大学】【严蔚敏】/代码背景是基于书上的,可内容确实是自己理解后敲的,这不禁让人思考(纠结)原创的定义了/顺序栈S的基本运算如下:(1)初始化栈S(2)栈为空(3)依次进栈元素a,b,c,d,e(4)栈为非空(5)出栈序列:e d c b a(6)栈为空(7)释放栈//本题静态栈,不用有释放空间的步骤,非要释放可以用memset(a,0,MAXSI...原创 2018-11-17 21:12:14 · 598 阅读 · 0 评论 -
数据结构——有关于栈和队列的小归纳
一、这里总结下栈和队列分类方法:按分配存储空间分:动态分配空间、静态分配空间;按存储结构(物理结构)分:顺序存储、链式存储;二、链式都是动态分配存储空间,所以一共有六类:1、动态分配空间的顺序栈(写过,是书上主推的方法)2、静态分配空间的顺序栈(写过,方法简单易懂)3、动态分配空间的链式栈(没写过,关键是用头插法倒序)4、动态分配空间的循环队列(写过,书上主推写法之一,这里动态分...原创 2018-11-17 21:19:52 · 203 阅读 · 0 评论 -
数据结构——递归法求解栈中最大值和最小值
【递归法求解最大值和最小值】问题描述:若一个无序的线性表A[MaxSize]采用顺序存储方式,元素类型为整型数。试写出递归算法求出A中的最大元素和最小元素。要求: 顺序表的数据通过调用算法initRandomize()随机产生。#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#de...原创 2018-11-18 13:53:11 · 2524 阅读 · 1 评论 -
【递归】数据结构——栈的应用(递归经典:Hanoi汉诺塔)
代码来源于:【数据结构】【严蔚敏】递归经典问题:汉诺塔(插个题外话哈,Hanoi是越南首都河内)思路(关键理解点):假设只有两个盘子(实在没法完全理解全部过程的,把两个盘子的过程捋清楚了,代码也就记住了)(n=2,x=a,y=b,z=c){hanoi(1,x,z,y);{move(x,1,z)//这里的z在(n=2,x=a,y=b,z=c)实际为b盘1号盘:a->b}m...转载 2018-11-11 19:18:52 · 361 阅读 · 0 评论 -
数据结构——顺序栈(动态分配空间)的基本操作
代码主要来源:【数据结构】【清华大学】【严蔚敏】顺序栈S的基本运算如下:(1)初始化栈S(2)栈为空(3)依次进栈元素a,b,c,d,e(4)栈为非空(5)出栈序列:e d c b a(6)栈为空(7)释放栈完整代码如下:#include <stdio.h>#include <stdlib.h> #define STACK_INIT_SIZE转载 2018-11-11 20:29:52 · 1904 阅读 · 0 评论 -
数据结构——循环队列(动态分配空间)基本运算
代码主要来源:【数据结构】【清华大学】【严蔚敏】循环队列基本运算如下:(1)初始化队列Q(2)依次进队列元素a,b,c(3)队列为非空(4)出队一个元素a(5)依次进队列元素d,e,f(6)出队列序列:b c d e f(7)释放队列完整代码如下:#include <stdio.h>#include <stdlib.h>#define OK转载 2018-11-11 21:50:56 · 1281 阅读 · 0 评论 -
数据结构——链队列的基本算法
代码主要来源:【数据结构】【清华大学】【严蔚敏】关于栈和队列的基本操作概括起来主要的内容有以下八种:构造、销毁置空、判空取头、求长输入、输出下面的代码包括了基本八种外加一个Status QueueTraverse(LinkQueue Q,void(*vi)(QElemType))函数//++++++++++++++++++++ 链队列 +++++++++++++++++++++++...转载 2018-11-11 22:21:17 · 1543 阅读 · 0 评论 -
C++——设计队列类和循环队列类
设计队列类和循环队列类要求:能够设计队列类和循环队列类,实现存储和取数功能。Append:加入队列,将一个元素加入到队列的后面Get:读取队列,从队列前面读取并删除一个元素IsEmpty:判断队列是否为空IsFull:判断队列是否已满Traverse:遍历,从头至尾访问队列的每个单元Clear:清除,使队列为空非循环静态分配空间队列类基本操作如下:#include <io...原创 2018-11-18 16:57:43 · 3181 阅读 · 0 评论