趁着复习把课上的作业和代码上传上来嘿嘿嘿,这个系列的代码都是自己写的或者老师教学用的可能内存管理上有点小瑕疵,但是算法理解还是不错的!本系列所有代码在dev-cpp上可以跑通~

描述:

假设以ABCDEFG入栈(出栈顺序随机),现在给你一段出栈序列比如DACBEFG,判定是否满足FILO的要求。

思路:

先ABCDEFG进栈的时候看出栈序列,如果对上了,退栈,如果发现栈满了,或者到G都进完栈了,出栈的还是对不上,那就不满足,如果最后全都对上了,而且栈空了,那就是满足。

代码:

#include<stdio.h>
int main(){char v='A',s,Q[8];Q[0]=v;int count=0,top=1;while(count<8){scanf("%c",&s);count++;while(Q[top-1]!=s&&v<'H'){Q[top++]=++v;}if(Q[top-1]==s&&v<='H'){top--;}else{break;}}if(top){printf("0");}else{printf("1");}return 0;
}

栈这结构其实用一个数组和一个top指针就可以维护了,出栈的话是Stack[--top],入栈的话是Stack[top++],注意前置和后置的区别,然后出栈顺序有一个231invalid的性质,就是如果入栈顺序是123,那么是一定不会出现231的出栈顺序的。

数据结构(C语言)——2栈:FILO顺序判定相关推荐

  1. 猴子选王c语言链表程序代码,数据结构(C语言)用栈和链表编写猴子选大王程序...

    <数据结构(C语言)用栈和链表编写猴子选大王程序>由会员分享,可在线阅读,更多相关<数据结构(C语言)用栈和链表编写猴子选大王程序(3页珍藏版)>请在人人文库网上搜索. 1.i ...

  2. C语言数据结构编程实列,数据结构C语言实现----栈的实例

    用栈的知识,编写一个程序,输入二进制,输出十进制 注意点: 1.在主函数里别忘了先创建一个栈,在进行入栈操作 2.转换过程会用到一个循环,需要用到栈的实际长度作为条件,要在进入循环前先把长度计算出来存 ...

  3. c语言建立栈(顺序栈、双栈和链式栈)

    c语言建立栈 顺序存储 栈的顺序存储定义 初始化栈 入栈操作 出栈操作 其余操作 读取栈顶元素 栈中元素个数 栈是否为空 双栈 双栈的顺序存储结构定义 建立双栈 判断栈为空 进栈操作 出栈操作 链式栈 ...

  4. 【Python数据结构系列】❤️《栈(顺序栈与链栈)》——❤️知识点讲解+代码实现

    灵魂拷问:为什么要学数据结构? 数据结构,直白地理解,就是研究数据的存储方式.数据存储只有一个目的,即为了方便后期对数据的再利用.因此,数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好 ...

  5. 数据结构c语言版严蔚敏 顺序表

    说来惭愧由于贪玩,数据结构挂科了,现在重新学一遍数据结构,用博客督促一下自己,希望各位同学引以为戒,贪玩一时爽,痛苦永留存. 本文主要以严老师的数据结构书为主. 结构类型 listsize代表这个顺序 ...

  6. 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...

    匿名用户 1级 2013-12-05 回答 #include #include #include typedef unsigned int data_type; //结点数62616964757a68 ...

  7. C语言前驱和后继字母,数据结构(c语言)3.ppt

    1 第2章 线性表 2.1 线性表的定义及其基本操作 2.2 线性表的顺序存储 2.3 线性表的链式存储 2.4 线性表的存储方式小结 仔佳痴腔慎析沙析增孙丸斌明躬烟议怠鸭顷扣战突邑菩置慰训即檬氨酵涟 ...

  8. 黑马程序员 C语言数据结构与算法之线性表(链表/栈/队列/顺序表)

    C语言 链表基础知识清晰讲解(黑马) 讲的蛮好,就是音质不太好,有时听不清讲的啥! [黑马]数据结构与算法之线性表(链表/栈/队列/顺序表)[配套源码 嘛蛋,看错了,这是java的... 文章目录 链 ...

  9. 【数据结构及算法】栈(stack)的概念及C语言实现

    0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 栈的概念和定义 1.概念 栈(stacks)是一种只能从表的一端存取数据 ...

最新文章

  1. pyCharm编辑器激活使用
  2. CentOS忘记密码
  3. (需求实战_进阶_01)SSM集成RabbitMQ 关键代码讲解、开发、测试
  4. 【2018.05.04学习笔记】【linux基础知识10.1-10.5】
  5. 解决formview遍历控件的问题
  6. 修改vscode代码字体大小
  7. Win11系统svchost.exe一直在下载怎么办?
  8. Kotlin与Java的异同
  9. 做小红书推广快速涨粉的技巧_云媒易
  10. 智能搬运机器人系列之使用旭日X3派实现机器人防脱轨功能
  11. 制造业增值税从16%下降到13%,我们是否应该降价出售?
  12. 如何快速做一个HTML5移动播放器
  13. Java动态数组的用法详解
  14. Carla车辆周围添加障碍物
  15. Python3,10行代码,制作艺术签名,从此走上人生巅峰。
  16. 2014江苏职称计算机考试题型,2014年江苏省职称计算机考试Powerpoint单选真题
  17. mysql删除语句菜鸟教程_MySQL 删除数据库 | 菜鸟教程
  18. 【MYSQL中(@i:=@i+1)的使用】
  19. 数值计算方法上机c语言编程,数值计算方法上机实验报告.doc-资源下载在线文库www.lddoc.cn...
  20. RCE远程命令执行学习

热门文章

  1. JS canvas实现图片显示
  2. 光动能表怎么维护_光动能手表怎么充电 光动能手表电池能用多久
  3. R: R版本更新及R包迁移(详细步骤)
  4. 微信幸运大转盘 刮刮卡
  5. fiq中断的入口地址_ARM中断模式(IRQ)和快速中断模式(FIQ)区别比较
  6. NFT Insider #73:淡马锡将领投Animoca Brands新一轮1亿美元融资
  7. 【JavaSE】15- IO流
  8. English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一
  9. 时间的黑洞,我们的时间管理
  10. 一个骰子6个面,怎么扔能使7个事件均匀分布