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

#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. c语言程序设计删除,C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句...

    C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句,要正确处理带引号的字符串与字符常量,以C语言中,注释不允许嵌套. 本程序运行后,将要求用户输入一个当前目录下的C源码程序文件名,读取 ...

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

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

  3. c语言求链表节点的删除,C语言实现链表节点的删除

    对链表节点进行增删改查是最基本的操作,这篇博客将会来实现对节点的删除.其他的操作可参考<c语言实现链表的基本操作>这篇博客.删除某个节点有两个类型: (1)删除i某个位置的节点: (2)判 ...

  4. c语言实现将字符串首尾*删除,C语言实现Trim()函数:删除字符串首尾空格。...

    如:" cd dwq   ",删除后为"cd dwq". 思路:定义两个指针,一个指向字符串的第一个字符,向后遍历,找到第一个不为空格的字符.另一个指针指向字符 ...

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

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

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

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

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

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

  8. c++怎么实现数字数组的删除数字_C/C++数据结构:栈结构解析,最简单解析,让你一遍就会...

    上一章节针对于C语言最基本的数据结构链式结构体做了解析,不清楚的可以回顾一下.本章节主要针对于C语言的基础数据结构栈做以解析. 数据结构之栈 栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅 ...

  9. 删除数组中重复元素(C语言)

    编写函数,删除数组中所有的重复元素,使数组变成一个集合,函数返回集合中元素的个数. 书上习题 #include<stdio.h> int set(int a[],int n) {int i ...

最新文章

  1. ASP.Net中省市级联有关
  2. java反射三种_Java反射
  3. Box-Cox(python实现)
  4. Angular 应用解决跨域访问的问题
  5. 后台管理系统框架bootstrap中文版
  6. android4.0蓝牙使能的详细解析 (转载)
  7. 算法导论12.2节习题解答
  8. tm1639c语言程序,51单片机各种汇编延时子程序整理汇总
  9. python数据处理分析实训心得总结_python数据分析的总结
  10. 3D游戏案例:滚动天空(超低配版)
  11. 矩阵的乘法与利用矩阵求解线性方程组
  12. 贯头山酒——中华酒文化的源头之一
  13. Qt中的矩阵计算库eigen
  14. GPGPU台积电7nm制程
  15. mevan 的常用命令和参数解释
  16. 暗影精灵5风扇怎么调_惠普暗影精灵5内部结构是怎么样的 他的散热效果好不好呢...
  17. 什么是深度学习?有哪些相关书籍推荐?
  18. 初学5之坦克要求(做出坦克被子弹击中时的爆炸效果)
  19. 微软 Win 10X 系统非常震撼
  20. Android应用主界面底部菜单实现

热门文章

  1. 动态内存分配与柔性数组
  2. C++中的命名空间namespace
  3. C#创建MQTT客户端接收服务器信息
  4. SLAM | 视觉SLAM中特征点法与直接法结合:SVO
  5. Ecplise中tomcat上运行HTML文件自动加载
  6. OC从plist文件中获取数据
  7. Python3学习笔记(一):基础语法
  8. 读书笔记:理论生态学原理及应用(一)——合作的机制
  9. python投掷骰子实验_Python小程序--模拟掷骰子
  10. 生信服务器入门级基本设置