码迷,mamicode.com
首页 > 其他好文 > 详细

c stack

时间:2015-01-15 23:37:18      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

用一个头链表实现栈,头指针永远指向栈顶元素

#include <stdlib.h> #include <stdio.h> #include <string.h> typedef int ElemenType ; typedef struct node{ ElemenType data; struct node *next; }Linkstack; Linkstack *top; Linkstack *CreateStack() { Linkstack *s; s=(Linkstack*)malloc(sizeof(struct node)); s->next=NULL; return s; } int IsEmpty(Linkstack *s) { if(s->next==NULL) return 0; else return 1; } void push(Linkstack *s,ElemenType item) { Linkstack *n=(Linkstack*)malloc(sizeof(struct node)); n->data=item; n->next=s->next; s->next=n; } ElemenType pop(Linkstack *s) { if(s->next == NULL) return 0; ElemenType item=s->data; Linkstack *n=(Linkstack*)malloc(sizeof(struct node)); n=s->next; s->next=n->next; item=n->data; free(n); return item; } void VistStack(Linkstack *s) { Linkstack *p=(Linkstack*)malloc(sizeof(struct node)); p=s->next; while(p->next!=NULL) { printf("%d ",p->data); p=p->next; } printf("%d",p->data);//打印最后一个元素 } int main() { Linkstack *q; q=CreateStack(); push(q,10); push(q,11); push(q,8); push(q,13); push(q,7); push(q,9); VistStack(q); ElemenType z= pop(q); printf("\n%d\n",z); VistStack(q); return 0; }

 

c stack

标签:

原文地址:http://www.cnblogs.com/been/p/4227318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!