/*
实现功能:用顺序表实现栈的各种操作
编译环境:Windows 64b,vc6.0
日期: 2015/7/20
作者:wtt561111
*/ #define stack_max_num 10
#include "stdio.h"
#include "stdlib.h"
struct SeqStack{
int MAXNUM;
int t;//始终指向栈顶
int *s;
};
typedef struct SeqStack *PSeqStack; /*
创建一个空的堆栈,存储方式为顺序表
*/
PSeqStack createEmptyStack_seq(int m){ PSeqStack pastack=(PSeqStack)malloc(sizeof (struct SeqStack));
if(pastack==NULL){
printf("out of spcae!\n");
return NULL;
}
pastack->s=(int * )malloc (sizeof (int)*m);
if(pastack==NULL){
printf("out of space!\n");
return NULL;
}
pastack->MAXNUM=m;
pastack->t=-1;
return pastack;
}
/*****************************************************/ /*
推断堆栈是否为空
*/
int isEmptyStack_seq(PSeqStack pastack){ if(pastack->t==(-1) )
return 1;
return 0; }
/*****************************************************/ /*
将x压入栈中,成功返回1,否则返回0;
*/
int push_seq(PSeqStack pastack,int x){ if(pastack->t >= pastack->MAXNUM){
printf("overflow!\n");
return 0;
}
pastack->t=pastack->t+1;
pastack->s[pastack->t]=x;
return 1; }
/*****************************************************/ /*
将栈顶元素出栈,成功返回1,否则返回0;
*/
int pop_seq(PSeqStack pastack){ if(pastack->t==(-1)){
printf("empty stack!\n");
return 0;
}
pastack->t=(pastack->t)-1;
return 1; }
/*****************************************************/ /*
获取栈顶元素,成功返回栈顶元素,否则返回-1。
*/
int top_seq(PSeqStack pastack){ if(pastack->t==(-1)){
printf("empty stack!\n");
return -1;
} return pastack->s[pastack->t]; }
/*****************************************************/ /********************主函数***************************/
int main(){
PSeqStack stack_get=createEmptyStack_seq(stack_max_num);
push_seq(stack_get,0);
push_seq(stack_get,1);
push_seq(stack_get,2);
push_seq(stack_get,3);
pop_seq(stack_get);
int from_top=top_seq(stack_get);
printf("%d\n",from_top);
return 0;
}

<p><img src="http://img.blog.csdn.net/20150823142545135?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""></p>的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 【hihocoder 1369】网络流一·Ford-Fulkerson算法

    [Link]:http://hihocoder.com/problemset/problem/1369 [Description] [Solution] 最大流模板题 [NumberOf WA] [R ...

  2. git -处理分支合并

    1.分支间的合并 1)直接合并:把两个分支上的历史轨迹合二为一(就是所以修改都全部合并) zhangshuli@zhangshuli-MS-:~/myGit$ vim merge.txt zhangs ...

  3. 1.lombok系列1:初识lombok

    转自:https://www.imooc.com/article/18156 初识lombok 官网:https://projectlombok.org/ 什么是lombok 连官网都懒得废话,只给出 ...

  4. HDU 1548 A strange lift(最短路&&bfs)

    A strange lift Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  5. 备库报 ORA-00313、ORA-00312、ORA-27037

    备库alert日志如下:Errors in file /data/app/oracle/diag/rdbms/standby/orcl/trace/orcl_m000_31006.trc:ORA-00 ...

  6. (转)Tomcat文件详解

    做web项目,最常用的服务器就是Apache的tomcat.虽然一直在用tomcat,但都是仅限在使用的阶段,一直没有深入学习过.想深入学习tomcat,首推的肯定是官网:http://tomcat. ...

  7. C#之在treeview中鼠标点击的所选的节点触发事件

    一.背景 如下图所示,我想实现通过鼠标点击treeview的根节点,然后在文本框控件中显示鼠标点击的节点号. 二.程序实现 因为是要通过鼠标点击才发生的事情,所以这属于一个事件,需要触发才行,刚开始不 ...

  8. Spring MVC框架实例

    Spring  MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还是 ...

  9. Weblogic问题汇总

    1. weblogic unable to get file lock问题 在项目使用过程中,非正常结束Weblogic进程导致Weblogic无法启动,出现以下错误: <BEA-141281& ...

  10. ajax的get请求与编码

    window.onload = function(){ document.getElementById('username').onblur = function(){ var name = docu ...