栈与队列

数据结构的概念
数据结构(Data Structure)是数据的组织方式。程序中用到的数据都不是独立的,而是相互联系的,根据访问的需求不同,同样的数据可以有多种不同的组织方式。
堆栈是一组元素的集合,类似于数组,数组可以按下标随机访问,这次访问a[5]下次访问a[1],但是堆栈的访问被限制在push()和pop()两种方式
push()是指向栈的顶端压入元素(Element),pop()是指从栈的顶端弹出一个元素。所以对于栈我们只能操作他的顶端元素,正所谓先进后出

举例(用堆栈实现倒序打印):

#include <stdio.h>char stack[512];
int top = 0;void push(char c)
{stack[top++] = c;
}char pop(void)
{return stack[--top];
}int is_empty(void)
{return top == 0;
}int main(void)
{push('a');push('b');push('c');while(!is_empty())putchar(pop());putchar('\n');return 0;
}

C语言杂记 0x08相关推荐

  1. R语言观察日志(part14)--R语言杂记

    学习笔记,有错必纠 文章目录 2020年8月杂记 search函数 未命名 向量化计算 ls函数 2020年8月杂记 search函数 search函数可以查看当前环境已加载的R包: R>sea ...

  2. 《C语言杂记》C语言字符数组与字符指针(指向字符串的指针)详解

    C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,字符数组用法很简单我们还是来你看个例子吧. #include <stdio.h> #include <string ...

  3. 《C语言杂记》详解extern “C“

    在嵌入式开发过程中,你是否经常看到类似下面的代码. #ifdef __cplusplusextern "C" {#endif -- #ifdef __cplusplus } #en ...

  4. C语言杂记 0x0B

    首先看两个例子 一. 二. 这两个例子里面不同的地方就是s的不同,C语言程序在执行的时候内存分配有这样的规则 局部变量在栈中自动生成内存,比如上面所说的s[]就是在栈中生成内存 而s*指向的内存在常量 ...

  5. 《C语言杂记》理解字符串处理函数 strlen() strcpy() strcat() strcmp()

    在linux C 编程中,我们经常遇到字符串的处理,最多的就是字符串的长度.拷贝字符串.比较字符串等:当然现在的C库中为我们提供了很多字符串处理函数.熟练的运用这些函数,可以减少编程工作量,这里介绍几 ...

  6. 《C语言杂记》C语言结构体和联合体详解

    1结构体概述 C 语言中有很多数据类型,数据类型决定了变量存储占用的空间,以及如何解释存储的位模式.像 int.float.char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据 ...

  7. C语言杂记 0x02

    形参和实参 int getTime(int hour,int minute);getTime(20,30); C语言的这种传递参数的方法叫做call by value 在调用参数时,每个参数都需要得到 ...

  8. C语言杂记 0x01

    字符类型与字符编码 ASCII码中 字符a是97,字符b是98,计算 'a'+1这个表达式,应该按照ASCII码把'a'当做证书值97,然后加1,得到98,然后printf把98这个整数值当做ASCI ...

  9. c语言常量修饰符的作用,C语言杂记(10):关于常量修饰符const

    情况二: 修饰数组变量,即希望这个数组中的每个变量的值不被修改只能被访问. const int a[4]={1,2,3,4}; a[0]=0; //编译报错 情况三: 对形式参量使用const. 首先 ...

最新文章

  1. python09-魔法方法
  2. 这些 Shell 分析服务器日志命令集锦,收藏好
  3. 60分钟精通正则表达式
  4. 提升购物体验,跨境电商如何做企业管理?
  5. 0322 第一天 心得体会
  6. python中的迭代器,生成器,闭包,装饰器,@property
  7. svn怎么上传文件 — 百度经验无耻推广
  8. dexpress 流程图_DevExpress常用操作
  9. tmpfs 文件系统介绍
  10. 海底捞的服务“歧视”
  11. Could not install packages due to an EnvironmentError: [Errno 13] Permission denied解决办法
  12. bash linux .ee,Linux下Bash shell学习笔记.md
  13. Caffe的简介、依赖、框架
  14. crypto.js 前端加解密
  15. java 信鸽推送demo_iOS中关于信鸽推送的使用demo详解
  16. [tensorflow] 多维矩阵的乘法
  17. 关于打开ARX项目的一些错误
  18. 微信小程序无法获取头像,昵称的解决办法 (原生)
  19. 安全狗核心产品入选《云原生产品目录》云原生安全实力备受认可!
  20. 三步快速远程桌面控制,开启远程办公

热门文章

  1. HTML5网页设计样式-CSS设置文字样式
  2. python 写一个带有菜单界面_python菜单界面
  3. 泛在电力物联网深度报告之一:架构、场景及投资机会
  4. springboot中的后端接口加密解密
  5. Sprites: Payment Channels that Go Faster than Lightning(精灵:比闪电还快的支付渠道) 阅读笔记
  6. 陪伴阿里云走过的5年之路
  7. #午安,努力#11.27
  8. 设置图表数据标签:汪琪玩Excel第二十三招
  9. python 关键字 keywords
  10. 深入研究mp4视频封装格式(1)