数据结构复习——线性表(三)栈
来源:互联网 发布:js获取option选中的值 编辑:程序博客网 时间:2024/06/05 23:40
栈的顺序存储结构
/***顺序栈及其相关操作*/# include <stdio.h># include <malloc.h># define MAXSIZE 20typedef struct stack * pStack;struct stack{int data[MAXSIZE];int top;//指示栈顶元素index};//初始化一个空栈pStack init(){pStack p = (pStack)malloc(sizeof(struct stack));p->top = -1;//没有任何元素return p;}//入栈void push(pStack p, int target){if(p->top == MAXSIZE -1){printf("栈满!");return;}else{p->data[++p->top] = target;//元素入栈,top值+1}}//出栈int pop(pStack p){int val;if(p->top == -1){printf("栈空!");return NULL;}else{val = p->data[p->top--];//先让它出栈再让top值-1return val;}}//获取栈顶元素int getTop(pStack p){return p->data[p->top];}//遍历一个栈void print(pStack p){int val = 0;//存放指针指向的值int pos = p->top;//遍历指针while(pos != -1){val = p->data[pos--];printf("%d ", val);}printf("\n");}//testint main (void){pStack p = init();for(int i = 0; i < MAXSIZE; i++)push(p,i);print(p);for(i = 0; i < MAXSIZE; i++)pop(p);for(i = 0; i < MAXSIZE; i++)push(p,i);print(p);return 0;}
0 0
- 数据结构复习——线性表(三)栈
- 复习数据结构——线性表
- 数据结构复习——线性表概念
- 数据结构知识点复习——线性表
- 数据结构复习——线性表(一)数组
- 数据结构复习——线性表(二)链表
- 数据结构复习——线性表(四)队列
- 数据结构——线性表(三)
- 复习 [数据结构] ---- 线性表
- 数据结构复习-线性表
- 【数据结构复习】线性表
- 《数据结构》复习之线性表(栈和队列)
- 数据结构复习——第二章:线性表
- 数据结构复习——线性表的顺序存储实现
- 数据结构复习—线性表的链式表示
- 数据结构实验(三)——线性表的查找
- 数据结构复习——线性表的链式存储实现(单向链表)
- 数据结构复习——线性表的链式存储实现(双向链表)
- 数据结构复习——线性表(二)链表
- Quartz.NET c# 教程 - 课程五:SimpleTrigger
- LightOJ 1154 - Penguins 最大流
- http://www.shangxueba.com/jingyan/1866247.html
- 《疯狂Java讲义》——解释型语言和编译型语言
- 数据结构复习——线性表(三)栈
- 23种设计模式01--简单工厂
- sel类型(以后完善)
- Android学习(56) -- 断点续传多线程下载(Android)
- 数据结构复习——线性表(四)队列
- 总结一下新建Android项目前的准备工作
- 轻松搞定java内存模型(四)垃圾回收算法
- [nodejs]mongoose学习1
- Vim不需要费劲去按esc的几个方法。