栈的C语言实现
来源:互联网 发布:源码授权是什么 编辑:程序博客网 时间:2024/05/01 10:21
#include<stdio.h>#include<stdbool.h>#include<malloc.h>typedef struct Node{ int val; struct Node *pNext;}NODE,*PNODE;typedef struct stack{ PNODE pTop; PNODE pBottom;}STACK,*PSTACK;void init(PSTACK pStack){ PNODE p=(PNODE)malloc(sizeof(NODE)); if(p==NULL){ printf("Dynamic storage fail to distribute!"); exit(-1); }else{ pStack->pBottom=p; pStack->pTop=p; } return pStack;}bool push(PSTACK pStack,int val){ PNODE pNew =(PNODE)malloc(sizeof(NODE)); if(pStack==NULL){ printf("Dynamic storage fail to distribute!"); exit(-1); } pNew->val=val; pNew->pNext=pStack->pTop; pStack->pTop=pNew; return true;}void showStack(PSTACK pStack){ if(pStack==NULL){ printf("stack is null"); exit(-1); } PNODE temp=pStack->pTop; while(temp!=pStack->pBottom){ printf("%d ",temp->val); temp=temp->pNext; }}bool pop(PSTACK p){ if(p->pTop==p->pBottom){ printf("stack is null\n"); return false; } PNODE temp=p->pTop; p->pTop=p->pTop->pNext; free(temp); temp=NULL; return true;}int main(void){ STACK s; init(&s); push(&s,3); push(&s,5); push(&s,3); push(&s,67); pop(&s); pop(&s); pop(&s); pop(&s); pop(&s); push(&s,67); push(&s,67); push(&s,67); showStack(&s);}
0 0
- 栈的C语言实现
- 栈的C语言实现
- C语言栈的实现
- 栈的C语言实现
- 栈的C语言实现
- 栈的c语言实现
- 栈的C语言实现
- 栈的c语言实现
- c语言栈的实现
- 栈的实现(C语言实现)
- 顺序栈的C语言实现
- 顺序栈的实现(C语言)
- C语言实现堆栈(栈)的数据结构
- 用c语言实现的链式栈
- 顺序栈的C语言实现
- C语言,简单栈的实现 Stack
- C语言 ----- 动态栈的算法实现
- 顺序栈的实现C语言
- Swift 学习笔记 - 01
- SQL的四种连接查询
- Swift 学习笔记 - 02
- 【UIKit-110-1】#import <UIKit/UITableView.h> 基础创建
- String与StringBuffer的区别
- 栈的C语言实现
- 杭电1002(可能是输出格式的问题,尚未查明WA原因)
- 欢迎使用CSDN-markdown编辑器
- Android的复合RecyclerView
- Swift 学习笔记 - 03
- Swift 学习笔记 - 04
- Openstack 概念架构详解
- Hibernate查询方式汇总
- 文件夹添加右键DOS快捷入口