栈--最终版

原创 2015年11月19日 21:42:30
#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;
    }
}
void Clear(PSTACK pS)
{
    if(empty(pS)==0)
        return;
    PNODE p = pS->pTop;
    PNODE q = NULL;
    while(p != pS->pBottom)
    {
        q = p->pNext;
        free(p);
        p = q;
    }
    pS->pTop = pS->pBottom;
}
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);
    Clear(&S);
    traverse(&S);





    return 0;
}

MYSQL去重最终版

DELIMITER ; DROP PROCEDURE IF EXISTS P_DeRep_data ; DELIMITER && CREATE PROCEDURE P_D...
  • tianlianchao1982
  • tianlianchao1982
  • 2016年11月05日 13:28
  • 634

Spring AOP 最终版实现

引言 Spring AOP 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容...
  • u010540106
  • u010540106
  • 2016年05月31日 21:50
  • 5627

寻路最终版哦

相信大家用unity3d寻路的时候,一定会碰到多人
  • yxriyin
  • yxriyin
  • 2014年11月07日 23:18
  • 3827

java--TV类最终版

/*烟台大学计算机学院学生 *All right reserved. *文件名称:java--TV类最终版 *作者:杨飞 *完成日期:2014年10月2日 ...
  • u012370105
  • u012370105
  • 2014年10月11日 22:49
  • 468

停车场管理,最终版,

#include #include   #include #define max 20 struct time { unsigned int year; unsigned i...
  • fhb1922702569
  • fhb1922702569
  • 2016年11月26日 19:06
  • 176

struts2笔记最终版

学习方法  动手(先实践)—》原理  动手 动手 再动手  配置文件    理解+copy Strutsà表现层 核心:视图(index.jsp)和请求分离 action Struts1名...
  • rongxiang000
  • rongxiang000
  • 2016年08月06日 10:04
  • 751

万能批处理工具包最终版

贴出源代码,方便自己查询。 @echo off ::布衣联盟 http://www.buyi.nam color 27 MODE con COLS=30 LINES=5 :start title ...
  • blueln
  • blueln
  • 2013年03月20日 21:23
  • 3474

Spring AOP 最终版实现

Spring AOP 最终版实现 引言 spring AOP 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软...
  • shenghuaDay
  • shenghuaDay
  • 2016年05月31日 22:25
  • 146

SSH复用代码最终版

web.xml文件
  • hon_3y
  • hon_3y
  • 2017年05月22日 21:02
  • 212

基于Python检索系统(4)最终版

from tkinter import * import jieba import jieba.analyse #b1函数为 全部新闻显示页面 #b2函数为 检索页面 检索成功后,跳转另外一个页面 ...
  • u013270326
  • u013270326
  • 2017年08月10日 10:49
  • 104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:栈--最终版
举报原因:
原因补充:

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