链栈2

原创 2015年11月19日 17:30:13
#include <stdio.h>
#include <Stdlib.h>
typedef struct node
{
    int data;
    struct node *pNext;
}NODE,*PNODE;
typedef struct Stack
{
    PNODE pTop;
    PNODE pBottom;
}STACK,* PSTACK;
void init(PSTACK pS)
{
    pS->pTop=(PNODE)malloc(sizeof(NODE));
    if(!pS->pTop)
        exit(0);
    pS->pBottom=pS->pTop;
    pS->pTop->pNext=NULL;
}
void push(PSTACK pS,int val)
{
    PNODE pNew=(PNODE)malloc(sizeof(NODE));
    pNew->data=val;
    pNew->pNext=pS->pTop;
    pS->pTop=pNew;
}
void traverse(PSTACK pS)
{
    PNODE p=pS->pTop;
    while(p!=pS->pBottom)
    {
        printf("%d ",p->data);
        p = p->pNext;

    }
    printf("\n");
}
int empty(PSTACK pS)
{
    if (pS->pTop==pS->pBottom)
    {
        return 0;
    }
    else
        return 1;
}
int pop(PSTACK pS,int * pVal)
{
    if(empty(pS)==0)
        return 0;
    else
    {// return true;

        PNODE r  =pS->pTop;
        *pVal = r->data;
        pS->pTop=r->pNext;
        free(r);
        r=NULL;
        return 1;
    }
}
int main()
{
    STACK S;
    int val;
    init(&S);
    push(&S,1);
    push(&S,2);
    push(&S,23);
    push(&S,43);
    push(&S,9);
    pop(&S,&val);
    traverse(&S);
    if (pop(&S,&val)==1)
    {
        /* code */
        printf("success! %d\n",val);
    }
    else
        printf("FAil\n");
    traverse(&S);





    return 0;
}

第五周 【项目2 - 建立链栈算法库】

/*   *Copyright  (c)2017,烟台大学计算机与控制工程学院       *All rights reservrd.             *作者:赵楷文...

第五周--项目2 建立链栈算法库

/* * Copyright (c++) 2016 烟台大学计算机学院 * All right reserved. * 文件名称:zhan.cpp ...

第五周项目2——建立链栈算法库

/*   * Copyright (c)2016,烟台大学计算机与控制工程学院   * All rights reserved.   * 文件名称:wu.cpp   * 作    者:武昊  ...

第五周 项目2 - 建立链栈算法库

/* 烟台大学计算机学院 文件名称:yd.cpp 作者:李金朴 完成日期:2017年10月9日 问题描述:定义链栈存储结构,实现其基本运算 ...

第五周 项目2 - 建立链栈算法库

链栈算法库采用程序的多文件组织形式,包括两个文件:      1.头文件:listack.h,包含定义链栈数据结构的代码、宏定义、要实现算法的函数的声明;   #ifndef LISTACK...

第六周项目2—链栈的算法库建立

问题及代码 烟台大学计算机学院  *文件名称:链栈算法库.cpp *作者:郗传秀 *完成日期;2016年9月29日 * *问题描述: 定义链栈存储结构,实现其基本运算,并完成测试 ...
  • DSCCX
  • DSCCX
  • 2016年09月29日 10:37
  • 166

第五周项目2建立链栈算法库

【项目2 - 建立链栈算法库】   定义链栈存储结构,实现其基本运算,并完成测试。   具体要求参照项目1 代码实现: 1.头文件 listack.h #ifndef LISTACK_H...
  • hwj0406
  • hwj0406
  • 2017年11月27日 21:49
  • 24

第6周项目2--建立链栈算法库

#include #include typedef char ElemType; typedef struct linknode {     ElemType data;              /...

【第6周 项目2 - 建立链栈算法库】

问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:建立链栈算法库.cpp...

第6周项目2-建立栈链算法库

/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目.cbp 作者:李竹雅 完成日期:2015年10月10日 版...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:链栈2
举报原因:
原因补充:

(最多只允许输入30个字)