首页 > 其他 > 详细

栈的链表实现

时间:2015-10-28 21:17:01      阅读:239      评论:0      收藏:0      [点我收藏+]

//  栈的链表实现
#include <cstdio>
#include <cstdlib>
//#define _OJ_

typedef struct Lnode
{
    int data;
    struct Lnode *next;
} Lnode, *stack;

stack
creat_list(stack s)
{
    s = (stack) malloc (sizeof(Lnode));
    s->next = NULL;
}

int
isEmpty(stack s)
{
    if(s->next == NULL)
    return 1;
    else return 0;
}

void
push(int x,stack s)
{
    stack p;
    p = (stack) malloc (sizeof(Lnode));
    p->data = x;
    p->next = s->next;
    s->next = p;
    printf("%d\n", x);
}

int
pop(stack s)
{
    int e;
    stack p;
    p = s->next;
    e = p->data;
    s->next = p->next;
    free(p);
    return e;
}


int main(int argc, char const *argv[]) {
#ifndef _OJ_  //ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
#endif

    int i, n, x;
    stack s;
    s = creat_list(s);
    printf("empty == %d\n", isEmpty(s));
    scanf("%d", &n);
    for(i = 0;i < n; i++) {
    scanf("%d", &x);
    push(x,s);
     }

    for(i = 0;i < n; i++) {
    printf("pop == %d\n", pop(s));
     }


    return 0;
}




栈的链表实现

原文:http://www.cnblogs.com/airfand/p/4918519.html

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