该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

#define STACK_TYPE int

#define STACK_SIZE 100

#if 1

int top_element = 0;

STACK_TYPE stack[STACK_SIZE];

void push(STACK_TYPE value);

void pop(void);

STACK_TYPE top();

STACK_TYPE EEE();

STACK_TYPE is_full();

STACK_TYPE show_stack();

void push(STACK_TYPE value)

{

assert(!is_full());

top_element += 1;

stack[top_element]=value;

}

void pop(void)

{

assert(!EEE());

printf("pop()函数调用栈顶的值=%d\n", stack[top_element]);

top_element -= 1;

}

STACK_TYPE top()

{

assert(!EEE());

return stack[top_element];

}

STACK_TYPE EEE()

{

return top_element ==0;

}

STACK_TYPE is_full()

{

return top_element ==STACK_SIZE;

}

STACK_TYPE show_stack()

{

assert(!EEE());

int n = top_element;

while (top_element>0)

{

printf("栈元素%d=%d\n", top_element,top());

stack[top_element--];

}

top_element = n;//top_element = top_element +n;

return stack[top_element];

}

int main()

{

int n,m;

int i=100;

while (1)

{

printf("1.输入栈顶元素\n");

printf("2.删除栈顶元素\n");

printf("3.显示栈顶元素\n");

printf("4.显示所有栈元素\n");

printf("5.退出程序\n");

//scanf("%d", &n);

scanf("%d", &m);

switch (m)

{

case 1:

{

scanf("%d", &n);

int*p = (int*)malloc(sizeof(int)*n);

*p = n;

push(*p);

}

break;

case 2:

pop();

getchar();

break;

case 3:

printf("栈顶元素的值=%d\n",top());

getchar();

break;

case 4:

show_stack();

getchar();

break;

case 5:

exit(0);

break;

}

getchar();

//getchar();

system("cls");

}

//push(95);

//push(102);

//pop();

//printf("pop()函数调用后栈顶的值=%d\n", top());

getchar();

return 0;

}

c语言用数组实现栈的插入,C语言静态数组实现栈操作相关推荐

  1. VBA 不能给数组赋值,其实只是不能给静态数组整体赋值

    1 问题:VBA报错:不能给数组赋值! 其实并不是 所有数组不能赋值 其实是不能给静态数组,整体赋值! 只是因为当前处理的是一个静态数组 2 什么是静态数组 (只是大小静态!! 赋值可变!) 2.1 ...

  2. 数据结构栈(顺序栈、链栈、插入push、删除pop)、队(循环队,链队、入队push,出队pop)知识点梳理

    数据结构栈知识点梳理 一 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 不含任何元素的栈称为空栈 允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom) 具有LI ...

  3. 数据结构学习笔记——栈的基本知识和顺序存储结构实现栈(顺序栈)

    目录 一.栈 (一)栈的概念 (二)栈的排列 (三)共享栈 (四)栈的常见应用 二.顺序栈的定义 三.顺序栈的初始化 四.判断顺序栈是否为空栈 五.判断顺序栈是否为满栈 六.进栈(插入操作) 七.出栈 ...

  4. Delphi 指针, 静态数组, 动态数组

    https://www.cnblogs.com/shangdawei/archive/2013/04/30/3051656.html指针 : 指针是一个特殊的变量, 它里面存储的数值被解释成为内存里的 ...

  5. Java动态数组和静态数组详解

    前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客  数组: 概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致,不能出现混合类型 1.什么数据类型就只能储存什么数据元素,比 ...

  6. 【C++】细说C++中的数组之“静态”数组

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 数组是C/C++以及各种编程语言中最常用的一种数据结构,了解数组的性质并且学会使用数组 ...

  7. c语言中栈区运用原理形象图,C语言实现使用动态数组来构造栈结构

    我在面前一篇博客<C语言实现使用静态数组来构造栈结构>中使用了静态数组来模拟栈的操作.静态数组的大小是在代码中写死的.是存储在用户栈上面的,使用起来不灵活.在这篇博客中我会使用动态数组来构 ...

  8. 栈的删除函数c语言,顺序栈的插入和删除

    <顺序栈的插入和删除>由会员分享,可在线阅读,更多相关<顺序栈的插入和删除(5页珍藏版)>请在人人文库网上搜索. 1.实验四顺序栈的插入和删除姓名:学号: 日期:一.实验目的: ...

  9. 插入栈顶元素c语言,详解数据结构之顺序栈的基本操做(C语言描述)

    1.栈是线性表的特例,所以栈的顺序存储其实也就是线性表顺序存储的简化,咱们称之为顺序栈,线性表是采用数组来实现的,所以顺序栈也采用数组来实现. 2.栈的结构定义:elementype类型根据实际状况而 ...

最新文章

  1. pycharm配置python解释器_Python大佬手把手教你进行Pycharm活动模板配置
  2. 在web html页面中,打印、预览当前页面
  3. python装饰器类-python_类装饰器
  4. 递归二分法php,PHP基于二分法实现数组查找功能示例【循环与递归算法】
  5. AT串口抽象层的设计思路及代码实现
  6. Spring Boot详细学习地址转载
  7. java元婴期(21)----java进阶(spring(5)---事务管理AOP事务管理(全自动)spring整合Junit)
  8. spring boot配置文件:application.yml (yml与properties文件优缺对比)
  9. 挂机脚本_叠猫猫逛店铺挂机脚本,每天稳定50次
  10. 一个SAP顾问2018年的回顾
  11. java中注解的解析_全面解析Java中的注解与注释
  12. 面试题22. 链表中倒数第k个节点
  13. 从容 IT 人生路,开发工具伴我行——“葡萄城 30 周年”征文
  14. leetcode 394.字符串解码 dfs
  15. hdu 6088 Rikka with Rock-paper-scissors (2017 多校第五场 1004) 【组合数学 + 数论 + 模意义下的FFT】...
  16. 支持树型的GridView控件
  17. ios判断点击的坐标点
  18. 【项目实战】Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
  19. css特效滑动导航栏,教你做个可爱的css滑动导航条
  20. DJFocus是个什么东东

热门文章

  1. java泛型的作用和实现原理_java泛型的作用及实现原理
  2. 通往奥格瑞玛的道路(洛谷 1462)
  3. Android如何获得手机power_profile.xml文件
  4. 一致性hash 简单实现
  5. 对Extjs中store的多种操作
  6. Installshield在安装结束时刷新系统
  7. Design Pattern – Separated Interface Pattern[转]
  8. Python-语句执行
  9. Obj文件和Bin文件
  10. XNA Billboard(公告板技术)