03-stack设计与实现专题讲座


    
    Stack设计实现专题讲座

    Stack基概念
    栈种特殊线性表
    栈仅线性表端进行操作
    栈顶(Top):允许操作端
    栈底(Bottom):允许操作端

    Stack常操作
    创建栈
    销毁栈
    清空栈
    进栈
    出栈
    获取栈顶元素
    获取栈

    C语言描述栈设计实现 生财富库积累
    #ifndef _MY_STACK_H_
    #define _MY_STACK_H_

    typedef void Stack

    Stack* Stack_Create()

    void Stack_Destroy(Stack* stack)

    void Stack_Clear(Stack* stack)

    int Stack_Push(Stack* stack void* item)

    void* Stack_Pop(Stack* stack)

    void* Stack_Top(Stack* stack)

    int Stack_Size(Stack* stack)

    #endif _MY_STACK_H_

    栈序存储设计实现
    1基概念

    2设计实现
    头文件
    #ifndef __MY_SEQLIST_H__
    #define __MY_SEQLIST_H__

    typedef void SeqList
    typedef void SeqListNode

    SeqList* SeqStack_Create(int capacity)

    void SeqStack _Destroy(SeqStack * list)

    void SeqStack _Clear(SeqStack * list)

    int SeqStack _Length(SeqStack * list)

    int SeqStack _Capacity(SeqStack * list)

    int SeqStack _Insert(SeqStack * list SeqListNode* node int pos)

    SeqListNode* SeqList_Get(SeqList* list int pos)

    SeqListNode* SeqList_Delete(SeqList* list int pos)

    #endif __MY_SEQLIST_H__


    栈链式存储设计实现
    1基概念



    2设计实现
    头文件
    #ifndef _MY_LINKSTACK_H_
    #define _MY_LINKSTACK_H_

    typedef void LinkStack

    LinkStack* LinkStack_Create()

    void LinkStack_Destroy(LinkStack* stack)

    void LinkStack_Clear(LinkStack* stack)

    int LinkStack_Push(LinkStack* stack void* item)

    void* LinkStack_Pop(LinkStack* stack)

    void* LinkStack_Top(LinkStack* stack)

    int LinkStack_Size(LinkStack* stack)

    #endif _MY_LINKSTACK_H_

    栈应
    应1:匹配
    编译器具检测括号否匹配力
    实现编译器中符号成检测?
    #include int main() { int a[4][4] int (*p)[4] p a[0] return 0

    算法思路
    第字符开始扫描
    遇见普通字符时忽略遇见左符号时压入栈中
    遇见右符号时栈中弹出栈顶符号进行匹配
    匹配成功:继续读入字符
    匹配失败:立停止报错
    结束:
    成功 字符扫描完毕栈空
    失败:匹配失败字符扫描完毕栈非空
    需检测成出现互相邻事物时
    栈进先出特性
    栈非常适合需匹配场合

    计算机质工作做数学运算计算机读入字符串
    9 + (3 1) * 5 + 8 2计算值?


    应2:中缀 缀
    计算机质工作做数学运算计算机读入字符串
    9 + (3 1) * 5 + 8 2计算值?
    缀表达式 ?符合计算机运算
    波兰科学家20世纪50年代提出种运算符放数字面缀表达式应
    惯数学表达式做中缀表达式符合类思考惯

    实例:
    5 + 4> 5 4 +
    1 + 2 * 3 > 1 2 3 * +
    8 + ( 3 – 1 ) * 5 > 8 3 1 – 5 * +
    中缀表达式符合类阅读思维惯
    缀表达式符合计算机运算惯
    中缀表达式转换成缀表达式?
    中缀转缀算法:
    遍历中缀表达式中数字符号
    数字:直接输出
    符号:
    左括号:进栈
    运算符号:栈顶符号进行优先级较
    栈顶符号优先级低:符合进栈 (默认栈顶左括号左括号优先级低)
    栈顶符号优先级低:栈顶符号弹出输出进栈
    右括号:栈顶符号弹出输出直匹配左括号
    遍历结束:栈中符号弹出输出
    中缀转缀

    计算机基缀表达式计算?
    8 3 1 – 5 * +
    遍历缀表达式中数字符号
    数字:进栈
    符号:
    栈中弹出右操作数
    栈中弹出左操作数
    根符号进行运算
    运算结果压入栈中
    遍历结束:栈中唯数字计算结果

    栈神奇
    中缀表达式惯表达方式
    缀表达式计算机喜欢表达方式
    通栈方便中缀形式变换缀形式
    中缀表达式计算程类似程序编译运行程

    扩展:字符串计算结果
    1+2*(66(2*3)+7)
    1
    字符串解析
    词法语法分析
    优先级分析
    数结构选型栈树?

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    04-queue设计与实现专题讲座

    Queue设计与实现专题讲座 Queue基本概念队列是一种特殊的线性表队列仅在线性表的两端进行操作队头(Front):取出数据元素的一端队尾(Rear):插入数据元素的一端队列不允许在中间部位...

    3年前   
    380    0

    毕业设计管理系统的设计与实现

    毕业设计管理系统的设计与实现 摘 要 随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现毕业设计管...

    5年前   
    2633    0

    求职网站的设计与实现

    伴随大学生人数不断增加,就业负担沉重,工作职位少但是待业人员众多等,在上述环境中尽早抓住时机就变成寻找最佳工作的关键条件,目前即便是网络社会,但是大部分学生依旧无法逃脱奔波于人才市场的窘境,利用...

    3年前   
    604    0

    网上书店的设计与实现

    网上书店的设计与实现摘 要在当今的社会计算机已经渐渐深入到人类生活的各个角落,在我们生活的周围,处处可见与网络息息相关的产品。尤其是最近几年,参加网络购物的人越来越多。这不仅仅是因为网上购物...

    3年前   
    682    0

    Ping程序的设计与实现课程设计

     计算机网络课程设计报告设计名称 Ping程序的设计与实现 专业班级 同组人姓名 ...

    3年前   
    620    0

    JAVA学习网站的设计与实现毕业设计

     毕业论文(设计)题 目  JAVA学习网站的设计与实现      院 系 专 业 计算机科学与技术学生姓名 ...

    3年前   
    771    0

    商务网站的设计与实现毕业设计

    商务网站的设计与实现 摘要要求字数400字以上。 新华商城商务网站是以电子商务类网站为基础进设计行开发的前面再加一小段,说明当前商务网站的情况。 ,并充分利用计算机网络资源,以...

    5年前   
    2143    0

    毕业设计资料管控平台设计与实现

     毕业设计资料管控平台设计与实现Design and Implementation of Graduation Design Information Management and Contro...

    3年前   
    543    0

    个人网站的设计与实现专科毕业设计

    毕 业 设 计(说 明 书)题 目:________________________________姓 名:________________________________编 ...

    3年前   
    1132    0

    网上书店系统的设计与实现毕业设计

     密级: (2013 — 2017年) 题 目 网上书店系统的设计与实现 ...

    4年前   
    1227    0

    精品课程网站的设计与实现毕业设计

    此篇论文主要研究了精品课程网站的开发过程,目标是向大学所学习相关课程的学生提供一个知识交流平台,并为任课教师建设一个教学资源管理信息系统。系统以Html、Asp语言为依托,使用Access作为系...

    4年前   
    3023    0

    电子公文管理系统设计与实现

    电子公文管理系统设计与实现  1 引言   公文是政府军队等各类部门请示汇报、命令下达等工作中的重要部分。传统的公文归档以纸质原件为主,存放在档案局等部门,当归档公文数目逐渐增多时,公文的查找...

    9年前   
    825    0

    仓库管理系统的设计与实现

    1 绪论随着社会经济的不断进展,各个企业也面临着各种机遇和挑战。为了能够在这个信息化的时代连续进展下去,就必需紧跟上时代的脚步。随着网络技术的不断进展, 现代物流技术也在不断的更换代。传统的人...

    1年前   
    272    0

    基于SpringBoot博客系统的设计与实现

     基于SpringBoot博客系统的设计与实现Design and implementation of bl...

    2年前   
    967    0

    双汇物流管理系统的设计与实现

    世纪的前十年是我国物流行业飞速开展的十年,伴随着网络购物的指数性增长,以及城市化商业的迅速开展,物流公司如雨后春笋般崛起,三通一达、德邦、中外运等都已经开展成全国规模型物流企业,然而随着市场的不...

    2年前   
    784    0

    餐饮管理系统的设计与实现

     题 目 餐饮管理系统的设计与实现 学生姓名 焦诚 学号 1121024048 所在学院 ...

    2年前   
    694    0

    最终电子教务管理系统设计与实现

    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

    2年前   
    670    0

    酒店管理系统的设计与实现

     酒店管理系统的设计与实现 摘 要 随着计算机网络的飞速发展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给酒店业计算机应用带来了蓬勃发展的机遇。采用全...

    5年前   
    1719    0

    餐饮管理系统的设计与实现

    摘 要1.背景目的:随着我国经济发展和人民生活水平显著提高,全社会对餐饮业的需求量也越来越大;伴随着消费的持续增长,餐饮行业已经成为现代社会中发展最快的行业之一。要想在激烈的市场竞争中生存,...

    3年前   
    970    0

    基于node的微博的设计与实现

    基于node的微博的设计与实现design and implementation of microblog based on node 摘要千禧年后, Twitter开始进...

    10个月前   
    282    0

    文档贡献者

    奋斗不止500年

    贡献于2021-07-20

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档