分享

list stack

 海漩涡 2016-07-24
#ifndef _LIST_STACK_H_
#define _LIST_STACK_H_


#include <stdio.h>
#include <stdlib.h>

#define LIST_MAX_NUM 

typedef int ElemType;

typedef struct{
    ElemType  data;
    LNode     *next;
}LNode;

typedef struct{
    int elemNum;
    LNode *top;
}LiStack;

int InitStack(LiStack *L);

/* 判断栈是否为空 */
int IsEmpty(LiStack *L);

/* 判断栈是否为空 */
int IsFull(LiStack *L);


int Push(LiStack *L, ElemType *data);

int Pop(LiStack *L, ElemType *data);

/* 获得栈顶元素 */
int GetTop(LiStack *L,, ElemType *E);

/* 销毁栈,释放栈所占空间 */
int ClearStack(LiStack *L);


#endif


====================================================================


#include "stack.h"

int InitStack(LiStack *L)
{
    L->elemNum = 0;
    L->top = NULL;
}

/* 判断栈是否为空 */
int IsEmpty(LiStack *L)
{    
    return (NULL == L->top && 0 == L->elemNum);
}

/* 判断栈是否为空 */
int IsFull(LiStack *L)
{
    return (NULL != L->top && MAX_NUM == L->elemNum);
}


int Push(LiStack *L, ElemType *data)
{
    if(IsFull(L))
    {
        return -1;
    }

    L->top->next = data;
    L->top = L->top->next;
}

int Pop(LiStack *L, ElemType *data);

/* 获得栈顶元素 */
int GetTop(LiStack *L,, ElemType *E);

/* 销毁栈,释放栈所占空间 */
int ClearStack(LiStack *L);



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约