链栈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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

/*    copyright (t) 2016,烟台大学计算机与控制工程学院    *All rights reserved.    *文件名称:zxl.cpp    *作者:邹晓琳...

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

问题描述及代码: [cpp] view plain copy 1. /* 2. *烟台大学计控学院 3. *作 者:朱建豪 4. *完成日期:2016年9月29日 5....

第六周实践项目2--建立链栈的算法库

问题及代码: /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第6周项目2--建立链栈...

2015-10-12 【项目2 - 建立链栈算法库】

2015-10-12    数据结构之自建算法库——链栈 1.问题及代码 按照“0207将算法变程序”部分建议的方法,建设自己的专业基础设施算法库。 代码: 1.头文件: list...

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

问题及代码: /* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:Cube007.cpp * 作 ...

项目2 -- 建立链栈算法库

/*    * Copyright (c) 2015, 烟台大学计算机与控制工程学院    * All rights reserved.  ...

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

问题描述及代码: /* *烟台大学计控学院 *作 者:杨征 *完成日期:2015年10月5日 *问题描述:定义链栈存储结构,实现其基本运算,并完成测试。 */ (1)l...

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

问题及代码: 文件名称:main.cpp listack.cpp listack.h 作者:郑孚嘉 问题描述: 定义链栈存储结构,实现其基本运算,并完成测试。具体要求参照项目1。 代码:...

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

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

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

问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:建立链栈算法库.cpp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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