刚学数据结构,写了个C语言栈的头文件方便新手一块用~
来源:互联网 发布:灰帽seo 编辑:程序博客网 时间:2024/04/28 10:12
<span style="font-family: Arial, Helvetica, sans-serif;">基于CSDN一位大牛的头文件结构写出来的。本人新手,可能有Bug。</span>
/*数据类型定义*/#define Stack_size 25#include <stdio.h>#include <stdlib.h>typedef struct{int data[Stack_size] ;int top;} Stack ;/*接口函数声明*//*操作:初始化一个栈*//*操作前:pstack 指向一个栈*//*操作后:如果内存分配成功, 该栈被初始化并被置为空, 返回1; 否则返回0*//*时间复杂度:O(1)*/int InitStack (Stack ** pstack){ *pstack=NULL; *pstack=(Stack *)malloc(sizeof(Stack)); if(*pstack==NULL) { return 0; } (*pstack)->top=-1; return 1;}/*操作:确定一个栈是否为空*//*操作前:pstack 指向一个已初始化的栈*//*操作后:如果栈为空, 返回1; 否则返回0*//*时间复杂度:O(1)*/int IsEmpty (Stack * pstack){ if(pstack->top == -1) return 1; else return 0;}/*操作:将一个元素入栈*//*操作前:pstack 指向一个已初始化的栈, panme 指向入栈的元素的数据*//*操作后:如果内存分配成功, 元素数据域为 *pname 的元素入栈, 返回1; 否则返回0*//*时间复杂度:O(1)*/int Push (Stack * pstack, int num){ if(pstack->top>Stack_size) { printf("Push Error!"); return 0; } pstack->top++; pstack->data[pstack->top]=num; return 0;}/*操作:从栈中弹出一个元素*//*操作前:pstack 指向一个已初始化的栈, pname 指向一个元素数据域的数据*//*操作后:如果栈不为空, 栈顶元素出栈并且 *panme 被赋值, 返回1; 否则返回0*//*时间复杂度:O(1)*/int Pop (Stack * pstack, int * pname){ if(pstack->top<0) { return 0; } * pname = pstack->data[pstack->top]; pstack->top--; return 1;}
用以下代码调试通过:
#include <stdio.h>#include <stdlib.h>#include "stack.h"int main(){ Stack *ss; if(InitStack(&ss)) printf("Initialized OK!\n"); if(IsEmpty(ss)) printf("True!\n"); int e=1234; Push(ss,e); Pop(ss,&e); printf("%d",e); return 0;}
0 0
- 刚学数据结构,写了个C语言栈的头文件方便新手一块用~
- 刚学编程,写了个判断独立点与多边形位置关系的算法(C#)
- 写好C语言的头文件
- 写好C语言的头文件
- 我是刚学C语言,都好久了,代码还是写不出来,
- 写 C 语言 头文件
- 好久没有写博客了,写一下刚学的
- 刚学C语言时理解性的写的2杈
- 学c语言第一个自己写的计算器程序
- c语言自己写一个.h的头文件
- 用C语言编写的时钟,对刚学C语言的同学有点启发
- c语言头文件怎么写?
- C语言头文件怎么写
- c语言头文件怎么写?
- 刚学数据结构的看法
- 刚学C写的东西,纪念下:)
- 刚学ui,自己写了个霓虹灯,我觉的我写的这个比比百度上简单多了!!!
- 我刚学编程,用c写的一个判断字符串是否“回文”的小程序
- Trinea性能优化之Android代码优化
- java中子类,父类的方法调用及属性值
- The source file is different from when the module was built
- jQuery之过滤选择器学习笔记
- Linux中断(interrupt)子系统之一:中断系统基本原理
- 刚学数据结构,写了个C语言栈的头文件方便新手一块用~
- 最近自己整理的mysql(2)
- Trinea性能优化之布局优化
- 文件系统三ext3
- 源码系列:计数排序、基数排序、桶排序
- Trinea性能优化之数据库优化
- Oracle 分析函数
- Moldflow中文版注塑流动分析案例导航视频教程
- unity之常用核心类习题总结