zoukankan      html  css  js  c++  java
  • 栈的链式存储及其基本运算

    #include <stdio.h>
    #include <stdlib.h>
    #define M 10
    
    typedef struct stnode
    {
        char data;
        struct stnode *next;
    }LinkStack;
    
    void InitStack(LinkStack *&ls)  //初始化栈
    {
        ls=NULL;
    }
    
    void PushStack(LinkStack *&ls,char x)//进栈
    {
        LinkStack *p;
        p=(LinkStack *)malloc(sizeof(LinkStack));
        p->data=x;
        p->next=ls;
        ls=p;
    }
    
    int PopStack(LinkStack *&ls,char &x)//出栈
    {
        LinkStack *p;
        if(ls==NULL)
            return 0;
        else
        {
            p=ls;
            x=p->data;
            ls=p->next;
            free(p);
            return 1;
        }
    }
    
    int GetTop(LinkStack *ls,char &x)//取栈顶元素
    {
        if(ls==NULL)
            return 0;
        else
        {
            x=ls->data;
            return 1;
        }
    }
    
    int StackEmpty(LinkStack *ls)//判断栈空
    {
        if(ls==NULL)
            return 1;
        else
            return 0;
    }
    
    int main()
    {
        LinkStack *ls;
        char e;
        InitStack(ls);
        printf("栈%s
    ",(StackEmpty(ls)==1?"空":"不空"));
        printf("a,b,c,d进栈
    ");
    	
        PushStack(ls,'a');
        PushStack(ls,'b');
        PushStack(ls,'c');
        PushStack(ls,'d');
    	PushStack(ls,'f');
    	/*
    	int i;
    	for(i=0;i<5;i++)
    	{
    		scanf("%c",&e);
    		PushStack(ls,e);
    	}
    	*/
        printf("栈%s
    ",(StackEmpty(ls)==1?"空":"不空"));
        GetTop(ls,e);
        printf("栈顶元素:%c
    ",e);
        printf("出栈次序:
    ");
        while(!StackEmpty(ls))
        {
            PopStack(ls,e);
            printf("%c ",e);
        }
        printf("
    ");
        return 0;
    }
    
    不知为毛注释掉的那一行不行
    请dalao不吝赐教。
  • 相关阅读:
    Netty入门(三)之web服务器
    Math对象
    DOM
    BOM
    字符串
    数组
    ajax
    如何安装vue脚手架
    git提交拉取远程仓库
    第九届蓝桥杯,赛后感!!含泪写完。
  • 原文地址:https://www.cnblogs.com/liesun/p/7350350.html
Copyright © 2011-2022 走看看