zoukankan      html  css  js  c++  java
  • 数据结构--链栈

    /*
    * 链栈 
    */
    #include <stdio.h>
    #include <stack>
    #include <stdlib.h>
    #define STACK_INIT_SIZE 100
    #define OK 1
    #define ERROR 0
    typedef int ElemType; 
    typedef int SElemType;
    //链栈的存储结构
    typedef struct StackNode{
        ElemType data;
        struct StackNode* next;
    }StackNode,*LinkStack; 
    //1.结构体初始化 
    int InitStack(LinkStack &S){
        S = NULL;
        return OK;
    } 
    //2.入栈
    int Push(LinkStack &S, ElemType e){
        StackNode* p;
        p = new StackNode;
        p->data = e;
        p->next = S->next;
        S = p;
        return OK;
    } 
    //3.出栈
    int Pop(LinkStack &S){
        StackNode* p;
        if(S == NULL){
            return ERROR; 
        } 
        p = S;
        S = S->next;
        delete p;
        return OK;
    } 
    //4.取栈顶元素
    int GetTop(LinkStack S){
        if(S != NULL){
            return S->data;
        }
    } 
    //5.打印,输出 
    void Print(LinkStack S)
    {//打印栈中元素,顺序是从栈底到栈顶
        StackNode *p;
        p = S;
        while (p == NULL)
        {
            printf("%d  ",(p->data));
            p = p->next;
        }
        printf("
    ");
    }
    
    //主函数
    int main(void){
        LinkStack S;
        int x,y;
        InitStack(S);
        printf("Enter Numbers:
    ");
        while(true){
            scanf("%d",&x);
            if(x == 9999){
                break;
            }
            Push(S,x);              //构造顺序栈 
        } 
        printf("The stack elems:");
        Print(S);
        printf("1.入栈:");
        scanf("%d",&x);
        Push(S,x);
        printf("The stack elems:");
        Print(S); 
        y = GetTop(S);
        printf("2.取得栈顶元素:%d
    ",y);
        printf("3.出栈:
    ");
        Pop(S);
        printf("The stack elems:");
        Print(S);
    
    }
  • 相关阅读:
    求阴影部分的面积
    论语(原文注音, 注释, 译文, 评析) 打印版
    生肖故事
    北京大学2019年高等代数考研试题
    LaTeX技巧561:LaTeX如何让每一章带有目录?
    用 Mathematica 获取图片的 RGB 三基色
    tex 进度条
    跟锦数学190314
    Beamer 目录分栏
    Beamer 跳到另外一页
  • 原文地址:https://www.cnblogs.com/tengpengfei/p/10454027.html
Copyright © 2011-2022 走看看