c语言数据结构---123栈队列数组.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言数据结构---123栈队列数组

第三章 栈、队列和数组 第三章 栈、队列和数组 3.1 栈 3.2 队列 3.3 数组 3.4 栈的应用——栈和递归 3.1 栈-定义 栈 —— 只能在一端插入和删除元素的线性表 特点:后进先出(LIFO) 术语:栈顶 栈底 入栈(压栈) 出栈(弹栈) 3.1 栈-运算 栈的基本运算 (1)初始化栈:init_stack(S); (2)判栈空:stack_empty(S); (3)判栈满:stack_full(S); (4)读栈顶元素:stack_top(S,x); (5)入栈:push_stack(S,x); (6)出栈:pop_stack(S); 3.1 栈-顺序栈存储结构 1、顺序栈存储结构 —— 采用顺序表来存储的栈 #define maxsize 最大容量 typedef struct {elementtype data[maxsize]; int top; //指示栈顶元素的位置 } seqstack; 3.1 栈-顺序栈图例 3.1 栈-顺序栈运算实现 (1) 初始化: void init_stack(seqstack * S){S-top = -1;} (2) 判栈空: BOOL stack_empty(seqstack S){return (S.top == -1);} (3) 判栈满: BOOL stack_full(seqstack S){ if ( S.top == maxsize-1 ) return(TRUE); else return FALSE; } (4) 读栈顶元素:void stack_top(seqstack * S,elementtype x){ if ( S - top == -1 ) error(“栈空”); else x=S-data[s-top]; } 3.1 栈-顺序栈运算实现(入栈/出栈) (5) 入栈: void push_stack(seqstack * S, elementtype x){ if ( S -top == maxsize-1 ) error(“栈满”); else { S - top ++; S - data [S - top] = x ;} } 3.1 栈-链栈 链栈结构图 —采用链表来存储的栈 3.1 栈-栈的应用 表达式的计算: 模拟表达式:12+5*(2+3)*6/2-4的求解过程。 3.1 栈-栈的应用(表达式计算) 表达式的计算 以表达式12+5*(2+3)*6/2-4的计算过程的实现为例来讨论栈结构在 实现对任意输入的通用表达式的计算中的作用 3.1 栈-栈的应用(表达式计算) 表达式的计算 以表达式12+5*(2+3)*6/2-4的计算过程的实现为例来讨论栈结构在 实现对任意输入的通用表达式的计算中的作用 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.1 栈-栈的应用(表达式计算) 3.2 队列-定义 队列 —— 只能在一端插入,另一端删除元素的线性表 特点:先进先出(FIFO) 3.2 队列-运算 队列运算 (1)初始化:init_queue(Q); (2)判队空:queue_empty(Q); (3)取队头:queue_front(Q,x); (4)入队:enqueue(Q,x); (5)出队:outqueue(Q); (6)判队满:queue_full(Q); 3.2 队列-顺序队列 类型描述: typedef struct { elemen

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档