zoukankan      html  css  js  c++  java
  • 栈操作

    #include <stdio.h>
    
    #define MaxSize 10
    
    typedef struct{
    	int data[MaxSize];
    	int top;
    }Stack;
    
    void InitStack(Stack &);	//初始化 
    int StackEmpty(Stack);		//判断栈是否为空
    bool Push(Stack & , int e);		//入栈 
    int Pop(Stack & , int &);	//出栈 
    int  TopData(Stack , int);	//读取栈顶数据 
    
    int main(void){
    	Stack s;
    	InitStack(s);
    	
    	switch(StackEmpty(s)){
    		case 0:
    			printf("栈空.
    ");
    			break;
    		case 1:
    			printf("栈满.
    ");
    			break;
    		case 2:
    			printf("栈不为空且不满.
    ");
    	}
    	
    	Push(s,1);
    	Push(s,2);
    	Push(s,3);
    	Push(s,4);
    	
    	int e = 0;
    	printf("出栈的数据是:%d
    ",Pop(s,e));
    	printf("出栈的数据是:%d
    ",Pop(s,e));
    	
    	printf("栈顶数据为:%d
    ",TopData(s,e));
    	return 0;
    } 
    
    //初始化 
    void InitStack(Stack &s){
    	s.top = -1;
    }
    
    //判断栈是否为空 
    int StackEmpty(Stack s){
    	if(s.top = -1){
    		return 0;
    	}else if(s.top == MaxSize - 1){
    		s.top == MaxSize - 1;
    		return 1;
    	}else{
    		return 2;
    	}
    } 
    
    //入栈
    bool Push(Stack &s , int e){
    	if(s.top == MaxSize - 1){
    		printf("栈满");
    		return false;
    	}
    	s.data[++s.top] = e;
    	return true;
    } 
    
    //出栈
    int Pop(Stack &s , int &e){
    	if(s.top == -1){
    		printf("栈空");
    		return 0;
    	}
    	e = s.data[s.top--];
    	return e;
    }
    
    //读取栈顶数据 
    int TopData(Stack s , int e){
    	if(s.top == -1){
    		printf("栈空");
    		return 0;
    	}
    	e = s.data[s.top];
    	return e;
    }
    
  • 相关阅读:
    win10系统许可证即将过期的解决方法
    python中unicode转中文
    tesseract下载
    镜像访问GitHub
    软件体系架构的质量属性
    架构漫谈读后感
    架构漫谈(一)
    机器学习十讲02
    IntelliJ IDEA免费激活与基础配置
    gitlab安装(centos 8)
  • 原文地址:https://www.cnblogs.com/Timesi/p/12427879.html
Copyright © 2011-2022 走看看