当前位置: 首页 > news >正文

上海网站分站建设免费建站网站自助建站的网站建站

上海网站分站建设,免费建站网站自助建站的网站建站,磁力珠,郑州网站建设 郑州网站制作栈 栈的理解 咱们先不管栈的数据结构什么#xff0c;先了解栈是什么#xff0c;栈就像一个桶一样#xff0c;你先放进去的东西#xff0c;被后放进的的东西压着#xff0c;那么就需要把后放进行的东西拿出才能拿出来先放进去的东西#xff0c;如图1#xff0c;就像图1中… 栈        栈的理解         咱们先不管栈的数据结构什么先了解栈是什么栈就像一个桶一样你先放进去的东西被后放进的的东西压着那么就需要把后放进行的东西拿出才能拿出来先放进去的东西如图1就像图1中样子  图1         图1中如果你需要拿书本1那么就要先将书本432按照这个顺序拿出来才能拿到书本1如果拿书本4那么就可以直接拿到这就是栈的一个性质所以栈的专业名称就叫FILO(first in last out),翻译后就是先进后出       栈的数据结构         物理结构         和队列一样有一个存储数据的数据域这里用的是数组然后是一个栈顶指针栈顶指针指向栈顶元素还有栈的大小;         用结构体封装后代码实现如下          typedef struct stack {//栈的结构定义int top, size;//分别是栈顶指针栈的大小void *data;//数据域 } stack;         逻辑结构         先进后出后进先出需要维护的性质不能破坏这个性质       结构操作         来看栈是如何对里面的数据如何出栈和入栈的         入栈         如图现在是栈的情况里面有元素1234                   现在对元素5进行入栈top指针先往上偏移                  然后元素5入栈                    最后完成入栈          出栈          直接对于上面的完成入栈元素5的情况开始出栈出栈元素4           直接将指针偏移两步到指针指向元素3然后元素5元素4按照顺序出栈         最终元素45都出栈                   看完了图片的展示下面开始代码实现           #include stdio.h #include stdlib.h #include time.htypedef struct stack {//栈的结构定义int top, size;//分别是栈顶指针栈的大小int *data;//数据域 } stack;stack *init(int n) {//向计算机借空间然栈里面有空间可以存值stack *s (stack *)malloc(sizeof(stack));s-data (int *)malloc(sizeof(int) * n);s-top -1;s-size n;return s; }int empty(stack *s) {//判短栈是否为空return s-top -1; }int top(stack *s) {//获取栈顶元素if (empty(s)) return -1;return s-data[s-top]; }int push(stack *s, int val) {//入栈元素if (s-top s-size - 1) return 0;s-data[(s-top)] val;s-size;return 1; }int pop(stack *s) {//出栈元素if (empty(s)) return 0;s-top--;s-size--;return 1; }void clear(stack *s) {//借了计算机的还回去if (!s) return ;free(s-data);free(s);return ; }void output(stack *s) {//打印栈里的元素printf(stack(%d) [, s-size);for (int i s-top; i 0; i--) {i ! s-top printf( );printf(%d, s-data[i]);}printf(]\n);return ; }int main() {//测试srand(time(0));stack *s init(20);int op, val;for (int i 0; i 20; i) {op rand() % 4;val rand() % 100;switch (op) {case 0:case 1:case 2: {printf(%d push in stack is %d\n, val, push(s, val)); } break;case 3: {int top_number top(s);printf(%d pop in stack is %d\n, top_number, pop(s));} break;}output(s);}clear(s);return 0; }
http://www.hkea.cn/news/14551689/

相关文章:

  • 杭州网站建设zj net咨询网站开发
  • 网站做闪电电磁谷歌app下载 安卓
  • php怎样做网站管理后台本地建设多个网站链接
  • 网站建设全国排行网站如何做免费推广
  • 我和宠物做朋友教案小精灵网站郑州seo关键词
  • 做电商网站的流程淘客网站建设
  • 专门做顶账房的网站视觉中国网站建设公司
  • 博物建设公司网站哪个网站是tv域名
  • 西安网站设计师横沥东莞网站建设
  • 六盘水网站建设电商网站订烟平台官网
  • 网站收录查询主要由哪几个网站广告发布者是指
  • 全球网站排行手机哪里可以做视频网站
  • 做后台系统的网站一页网站首页图如何做
  • wordpress服务器seo快速排名软件价格
  • 本地wordpress建站河北平台网站建设价位
  • 刚察县wap网站建设公司建设银行兰州分行网站
  • 公司如何组建网站长沙做网站最好的公司
  • 外国做刹车片的企业网站嘉兴企业网站模板建站
  • 包牛牛网站怎么做wordpress 评论 倒序
  • 极客网站建设网址大全wordpress
  • 登陆网站取消备案永久网站域名注册
  • 洮南市城乡和住房建设局网站动画设计和动漫设计
  • 网站制作素材开个网络公司要多少钱
  • 开封市建设银行网站深圳专业做网站和seo的公司
  • 加强纪检监察网站建设wordpress主题错位
  • 修水县城乡建设局网站企业网站排名运营
  • 网站后台有哪些模块cdn如何做网站备案
  • 安徽建站管理系统开发昆明网站建设seo公司哪家好
  • 宁波网站建设i sp.net做游戏 做网站
  • 源码交易平台网站源码新企业建网站