zoukankan      html  css  js  c++  java
  • 顺序栈的基本操作

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MaxSize 50
    typedef int ElemType;
    typedef struct{
    	ElemType data[MaxSize];//数组
    	int top;
    }SqStack;
    void InitStack(SqStack &S)
    {
    	S.top=-1;//代表栈为空
    }
    
    bool StackEmpty(SqStack &S)
    {
    	if(S.top==-1)
    		return true;
    	else
    		return false;
    }
    //入栈
    bool Push(SqStack &S,ElemType x)
    {
    	if(S.top==MaxSize-1)//数组的大小不能改变,避免访问越界
    	{
    		return false;
    	}
    	S.data[++S.top]=x;
    	return true;
    }
    //出栈
    bool Pop(SqStack &S,ElemType &x)
    {
    	if(-1==S.top)
    		return false;
    	x=S.data[S.top--];//后减减,x=S.data[S.top];S.top=S.top-1;
    	return true;
    }
    //读取栈顶元素
    bool GetTop(SqStack &S,ElemType &x)
    {
    	if(-1==S.top)//说明栈为空
    		return false;
    	x=S.data[S.top];
    	return true;
    }
    //实现栈 可以用数组,也可以用链表
    int main()
    {
    	SqStack S;//先进后出 FILO  LIFO
    	bool flag;
    	ElemType m;//用来存放拿出的元素
    	InitStack(S);//初始化
    	flag=StackEmpty(S);
    	if(flag)
    	{
    		printf("栈是空的
    ");
    	}
    	Push(S,3);//入栈元素3
    	Push(S,4);//入栈元素4
    	Push(S,5);
    	flag=GetTop(S,m);//获取栈顶元素
    	if(flag)
    	{
    		printf("获取栈顶元素为 %d
    ",m);
    	}
    	flag=Pop(S,m);//弹出栈顶元素
    	if(flag)
    	{
    		printf("弹出元素为 %d
    ",m);
    	}
    	system("pause");
    }
    
  • 相关阅读:
    mysql优化四(SQL优化)
    mysql优化三(索引)
    mysql优化二(优化数据库的设计)
    mysql优化一(优化方式)
    ES6——Thunk函数
    JavaScript例子
    fetch使用
    ES6—Generator的next()方法传参
    ES6——Generator函数抛出异常
    JavaScript对象添加属性和方法
  • 原文地址:https://www.cnblogs.com/buxiu888/p/14695624.html
Copyright © 2011-2022 走看看