// 顺序栈.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"//test1.0--栈表仅限Int类型
#include <stdio.h> #define true 1
#define false 0 typedef struct stack_type
{
int stack[];//最大容纳100个元素
int top;
}stacktype; int pushes(stacktype *s, int x);//压入栈
int pops(stacktype *s);//删除栈
void initiatest(stacktype *s);//初始化 int main(void)
{
stacktype L;
stacktype *sta = &L;//失败过,如果没有L这个元素,直接stacktype *sta,编译器会报“未初始化的局部变量“sta””
int i, x,m; initiatest(sta); i = ; for (;;i++)
{
scanf_s("%d", &x); if (x == -)
{
break;
} pushes(sta, x);
} for (m = ; m < i; m++)
{
printf_s("%d ", sta->stack[m]);
} return ;
} int pushes(stacktype *s, int x)
{
if (s->top >= )
{
return (false);
}
else
{
s->top++;
s->stack[s->top] = x;
return(true);
}
} int pops(stacktype *s)
{
if (s->top < )
{
return (false);
}
else
{
s->top--;
return (s->stack[s->top + ]);
}
} void initiatest(stacktype *s)
{
s->top = -;
return ;
} //参考:http://www.cnblogs.com/yuxi/archive/2007/02/10/647076.html
//和一些书籍,开始我用的双指针,因为我认为修改指针的内容,就应该在子函数中修改指针的指针,也就是指针的地址,但会出现错误。

【小白成长撸】--顺序栈(C语言版)的更多相关文章

  1. 数据结构与算法之顺序栈C语言实现

    顺序栈是一种特殊的顺序表,主要操作是入栈和出栈.将顺序表加一些特定限制,就成了顺序栈. 注: 1.顺序栈C语言实现: 2.按较简单的方式实现,主要帮助理解,可在此基础上修改,更加完善: 3.提供几个简 ...

  2. 简单用数组模拟顺序栈(c++版)适合新手

    **栈是一种操作受限制的线性表,太多官方的话我也不说了,我们都知道栈元素是先进后出的,它有两种存储结构,分别是顺序存储结构和链式存储结构. **今天我先记一下顺序存储结构,后面我会加上链式存储结构的. ...

  3. 【小白成长撸】--链栈(C语言版)

    // 链栈.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> #include <st ...

  4. 顺序表C语言版

    #include <stdio.h> /* * 顺序表最多输入N个数 */ #define N 10 #define OK 1 #define ERROR -1 struct sequeu ...

  5. 顺序栈C语言实现

    "` #include <stdio.h> #define MAXSIZE 10001 #define ELEMTYPE int #define STACK_EMPTY -999 ...

  6. 【C++小白成长撸】--(续)单偶数N阶魔方矩阵

    1 /*程序的版权和版本声明部分: **Copyright(c) 2016,电子科技大学本科生 **All rights reserved. **文件名:单偶数N阶魔方矩阵 **程序作用:单偶数N阶魔 ...

  7. 【C++小白成长撸】--(续)双偶数N阶魔阵

    原理: 把双偶数N阶魔阵均分为(N/4)^2个4阶魔阵(4*4) 每个魔阵的对角线都标为"-1",其余位置标为"0" 从第一个位置(a[0][0])从左到右,从 ...

  8. 【C++小白成长撸】--N阶幻方(魔阵)矩阵

    解决方法:1.第一个元素放在第一行中间一列 2.下一个元素存放在当前元素的上一行.下一列. 3.如果上一行.下一列已经有内容,则下一个元素的存放位置为当前列的下一行. 在找上一行.下一行或者下一列的时 ...

  9. 【C++小白成长撸】--矩阵乘法程序

    矩阵乘法是大学矩阵课程中,相比矩阵加减法比较困难的部分. 矩阵乘法的原理: 矩阵乘法在代码中实现 得到目标矩阵的一个元素,涉及两个求和符号,一个求和符号一个for循环,两个求和符号两个for循环,再加 ...

随机推荐

  1. 38. leetcode 405. Convert a Number to Hexadecimal

    405. Convert a Number to Hexadecimal Given an integer, write an algorithm to convert it to hexadecim ...

  2. github 上传下载代码简单使用

    很长时间,一直认为github很难操作,其实认真学了发现也不是很困难. 主要就3个命令 git clone 建立空间 git push 提交代码,git pull拉取代码. git clone htt ...

  3. java大数判断相等

    java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api ...

  4. M3

    一,使用媒体查询的三种方式 1.直接在CSS中使用:   @media 类型:(长选用all/screen)and  (条件1)and(条件2){ CSS选择器{    CSS属性:属性值 } }   ...

  5. RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍

    在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github. ...

  6. SpringMVC详解(一)------入门实例

    本系列教程我们将详细的对SpringMVC进行介绍,相信你在学完本系列教程后,一定能在实际开发中运用自如. 1.什么是 SpringMVC ? 在介绍什么是 SpringMVC 之前,我们先看看 Sp ...

  7. SpringMVC创建HelloWorld程序

    1.IDE说明和依赖管理工具说明 开发工具:intellij idea 依赖管理使用:maven 2.创建maven工程 创建新的maven工程,并添加相应的文件夹,创建好的项目目录如下所示: 3.添 ...

  8. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead

    在某个activity中使用toolbar的使用,必须是在相应的application主题中也设置 <item name="windowNoTitle">true< ...

  9. APP跨进程数据通信-访问手机联系人

    1. 简述 在实际开发中,常常需要进行不同应用程序之间的数据通信,例如读取联系人列表等等,ContentProvider就是Android提供的用于实现不同进程之间进行数据通信的类. ContentP ...

  10. win7系统中如何使文件显示出扩展名或显示文件后缀名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...