zoukankan      html  css  js  c++  java
  • 栈简单运用

    读入n个整数

    定义栈数据类型

    定义栈的初始化、判空、判满、入栈、出栈函数

    写一主函数,完成n个数的读入和逆序输出

    #include<stdio.h>
    #define stacksize 100
    #define OK 1
    #define ERROR 0
    #define Overflow -1
    typedef int Status;
    typedef int ElemType;
    typedef struct
    {
        ElemType data[stacksize];
        int top;
    }SeqStack;
    //定义栈数据类型
    
    void InitStack(SeqStack &s)
    {
        s.top = 0;
    }
    //栈的初始化
    
    int StackEmpty(SeqStack s)
    {
        return (s.top == 0);
    }
    //判断栈空
    
    int StackFull(SeqStack s)
    {
        return (s.top == stacksize);
    }
    //判断栈满
    
    Status Push(SeqStack &s, ElemType x)
    {
        if(StackFull(s))
            return Overflow;
        s.data[s.top++] = x;
        return OK;
    }
    //入栈
    
    Status Pop(SeqStack &s, ElemType &e)
    {
        if(StackEmpty(s))
            return Overflow;
        e = s.data[--s.top];
        return OK;
    }
    //出栈
    
    Status GetTop(SeqStack s, ElemType &e)
    {
        if(StackEmpty(s))
            return Overflow;
        e = s.data[s.top - 1];
        return OK;
    }
    //取栈顶元素
    
    void StackTravel(SeqStack s)
    {
        int i;
        for(i = 0 ; i < s.top ; i++)
            printf("%d ", s.data[i]);
    }
    //遍历,显示栈中元素
    
    int main()
    {
        int i, n, d;
        SeqStack s1;
        InitStack(s1);
        scanf("%d", &n);
        for(i = 0 ; i < n ; i++)
        {
            scanf("%d", &d);
            Push(s1, d);
        }
        StackTravel(s1);
        printf("
    ");
        GetTop(s1, d);
        printf("栈顶元素是%d
    ", d);
        Pop(s1, d);
        printf("出栈元素是%d
    ", d);
        StackTravel(s1);
        printf("
    ");
        return 0;
    }
  • 相关阅读:
    博客园样式设置
    最坏情况为线性时间的选择算法
    棋盘覆盖
    矩阵乘法的Strassen算法及时间复杂度
    大整数乘法及算法时间复杂度
    全排列问题的递归算法(Perm)
    python的lambda
    python的zip函数
    python操作队列
    mysql基础命令
  • 原文地址:https://www.cnblogs.com/qq2424260747/p/4885480.html
Copyright © 2011-2022 走看看