首页 > 其他 > 详细

保存程序

时间:2017-04-12 02:17:14      阅读:181      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include <malloc.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);
void push(PSTACK, int);
void traverse(PSTACK);

int main(void)
{
    STACK S; // STACK等价于struct Stack
    
    init(&S);
    // 压栈
    push(&S, 1); // 把1放进去
    push(&S, 2); // 把2放进去
    // 遍历输出
    traverse(&S);
    
    return 0;
}

void init(PSTACK pS)
{
    pS->pTop = (PNODE)malloc(sizeof(NODE));
    if(pS->pTop == NULL)
    {
        printf("动态内存分配失败!\n");
        exit(-1);
    }
    else
    {
        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;
    
    return;
}

 

保存程序

原文:http://www.cnblogs.com/lqcdsns/p/6696965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!