栈的创建入栈出栈
来源:互联网 发布:网络文学创作原理pdf 编辑:程序博客网 时间:2024/06/05 14:21
栈的创建入栈出栈
#include<stdio.h>#include<stdlib.h>typedef struct node //结点结构{int data;struct node *next;}Node, *Pnode;typedef struct stack //栈结构{Pnode top;Pnode bottom;}Stack, *Pstack;void init(Pstack); //栈的初始化void push(Pstack, int number); //入栈void pop(Pstack); //出栈void Traversal(Pstack); //遍历栈int main(void){Pstack p;init(&p); //栈的初始化push(&p, 1); //入栈push(&p, 2); //入栈push(&p, 3); //入栈push(&p, 4); //入栈push(&p, 5); //入栈Traversal(&p); //遍历栈pop(&p); //出栈Traversal(&p); //遍历栈return 0;}void init(Pstack p) //栈的初始化{p->top = (Stack *)malloc(sizeof(Stack));if(p->top == NULL){printf("栈初始化失败!\n");exit(-1);}else{p->top = p->bottom;p->top->next = NULL;}return;}void push(Pstack p, int number) //入栈{Node *w;w = (Node *)malloc(sizeof(Node));w->data = number;w->next = p->top;p->top = w;return;}void pop(Pstack p) //出栈{ Node *w;if(p->top == p->bottom){printf("此栈为空!\n");exit(-1);}else{w = p->top;p->top = p->top->next;free(w);}return;}void Traversal(Pstack p) //遍历栈{Node *w;w = p->top;while(w != p->bottom){printf("%d ",w->data);w = w->next;}printf("\n");return;}
- 栈的创建入栈出栈
- 栈的创建myPathStack
- 动态栈的创建
- 栈的创建 入栈出栈 Java数据结构与算法
- 栈的创建和应用
- 用链表创建栈 以及用数组创建栈的区别
- 创建线程和不创建线程,栈的数据
- C++类的定义和对象的创建 在栈上创建 在堆上创建
- 角色创建界面的创建
- UCOSII创建的创建任务
- 读书笔记_栈的创建过程
- 栈的创建和部分操作
- 数据结构—(2)栈的创建、出进栈
- 数据结构之 简单栈的创建
- 栈的创建于基本操作
- 函数的栈帧创建与销毁
- 函数栈帧的创建与销毁
- 栈帧的创建和销毁
- Hdu 1878
- select初始化
- 算法实战4:逃跑问题Escape
- SOLIDWORKS高效建模实例(二)
- C语言文件读写函数介绍
- 栈的创建入栈出栈
- 孙鑫vc++深入详解第一节问题:Unicode与ASCII
- SQLite3数据库Native C++封装类(Unicode)CppSQLite3U的初步认识与使用
- linux 基础学习总结
- JAVA反射机制
- 15 个免费的 VPN 服务用于安全网页浏览
- 坑人的sql(MERGE改写UPDATE)
- Android 点击事情 颜色效果
- 类加载器及父亲委托机制