1044: 顺序栈基本操作的实现
题目描述
编程实现顺序栈的初始化、入栈、出栈、取栈顶元素和计算栈中元素个数等基本操作。
输入
第一行为入栈元素的个数; 第二行依次为入栈的元素; 出栈操作的次数n.
输出
输出n次出栈后的栈顶元素值。如果是空栈,输出-1.
样例输入
4
1 2 3 4
2
样例输出
2
#include<stdio.h>
#include<malloc.h>
#define MaxSize 1000
struct SqStack
{int data[MaxSize];int top;
};
void init(SqStack*&s)
{s=(SqStack*)malloc(sizeof(SqStack));s->top=-1;
}
void Destroy(SqStack*&s)
{delete(s);
}
bool Stackempty(SqStack*s)
{return (s->top==-1);
}
void push(SqStack*&s,int e)
{if(s->top==MaxSize-1) return ;s->top++;s->data[s->top]=e;
}
int pop(SqStack*&s)
{int e;if(s->top==-1) return -1;e=s->data[s->top];s->top--;return e;
}
void gettop(SqStack*s,int &e)
{if(s->top==-1) return ;e=s->data[s->top];
}
int main()
{SqStack*st;init(st);int n,num;scanf("%d",&n);while(n--){scanf("%d",&num);push(st,num);}int k;scanf("%d",&k);while(k--){pop(st);}printf("%d",pop(st));
}
1044: 顺序栈基本操作的实现相关推荐
- 顺序栈基本操作(入栈和出栈)C语言详解
#include <stdio.h> #include <stdlib.h> /*顺序栈基本操作(入栈和出栈)C语言详解栈的具体实现(1)顺序栈(2)链栈栈的应用(1)回退 ( ...
- 数据结构:顺序栈基本操作(入栈和出栈)C语言详解(转载)by解学武
本文为解学武教程的免费章节 什么是顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如 ...
- c语言堆栈基本代码入栈出栈_顺序栈基本操作(入栈和出栈)C语言详解
顺序,即用{1,2,3,4},存储状态如 图 1 顺序表存储 {1,2,3,4} 同样,使用栈存储结构存储 {1,2,3,4},其存储状态如图 2 所示: 图 2 栈结构存储 {1,2,3,4} 通过 ...
- c++顺序栈基本操作实现
顺序栈定义 顺序栈是利用数组存储的栈,只能在栈顶进行出栈入栈,需要定义栈顶(top).栈底(base).栈长(stacksize) 注意: 表示空栈为 top==base: 表示栈满为 top-bas ...
- 3.1栈和队列——顺序栈基本操作的实现
注意:以下内容均省略思路,只有代码.此内容为本人学习过程中的一些学习记录,如有错误,恳请各位指正.建议,末学将感激不尽! 目录 1.前言 2. 栈的特点(计算机二级考试中常考的知识点) 3. 栈的应用 ...
- 数据结构之 顺序栈、共享栈、链栈
顺序栈.共享栈.链栈 一.思维导图: 二.栈的定义: 三.栈的特点: 四.栈的基本操作: 五.常考题型: 六.顺序栈: 1.思维导图: 2.顺序栈基本操作的实现: 1.定义栈: 2. 初始化栈:Ini ...
- python 顺序栈及基本操作
顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序表模拟栈以及实现对栈中数 ...
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
//顺序栈的基本操作 #include<stdio.h> #define MaxSize 50 typedef int ElemType; //定义栈结构体 typedef struct ...
- 【C++】【数据结构】顺序栈的基本操作(初始化、入栈、出栈、取栈顶元素、遍历输出栈)的算法实现附全代码
C++实现顺序栈的算法+步骤(附全代码): 使用c++完成数据结构顺序栈的基本操作,包括(初始化.入栈.出栈.取栈顶元素.遍历输出栈等),可直接编译运行. 顺序栈的定义如下: #define MAXS ...
最新文章
- Java获取系统日期时间
- 您是否应该始终偏爱xrange()而不是range()?
- MapReduce 模式、算法和用例
- 【推荐】如何删除windows服务
- 近期打算及毕业前要补完的题
- 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告
- asp.net js 提示信息封装函数
- 撤消git update-index --assume-unchanged file
- 接收list参数_Python 犄角旮旯--List
- 基于跨模态预测的多模态情感分类
- ADSL桥接模式和路由模式的区别(转)
- 【Android 逆向】加壳技术识别 ( VMP 加壳示例 | Dex2C 加壳示例 )
- 连接局域网中计算机与传输介质的网络设备是,连接局域网中的计算机与传输介质的网络连接设备是。...
- 虚拟机的服务器显示全屏,虚拟机怎么实现全屏显示
- 高性能软件系统设计中应该考虑的问题
- 高斯公式_证明_高数
- linux系统1060的显卡驱动打不上,ubuntu14.04+GTX1060 重新安装显卡驱动
- 打包jar包时文件读取和第三方jar包的问题
- gitee代码管理仓库管理代码,更简单地查看各阶段的代码变动
- JavaWeb-云日志
热门文章
- Ubuntu下用aircrack破解WIFI密码
- 提供凭证不足 无法访问这台计算机,提供的凭证不足无法访问这台打印机
- 未能加载文件或程序集 Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken= 1cee9f8bde3db106或它的某
- 数据仓库——ODS/stg层数据漂移问题
- PTA 7-14 电话聊天狂人(25 分)map的应用
- vijosP1285 佳佳的魔法药水
- 开机自动启动 Ubuntu iBus 输入法
- 自动语音对话系统 Python实现
- 中文的括号和英文的括号区别_小括号、中括号、大括号,英文怎么说?
- 关于mikefile 萌新用法