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

建设银行无锡分行网站游戏开发前景

建设银行无锡分行网站,游戏开发前景,东莞化妆品网站建设,苏州建筑工程有限公司个人主页#xff1a;平行线也会相交 欢迎 点赞#x1f44d; 收藏✨ 留言✉ 加关注#x1f493;本文由 平行线也会相交 原创 收录于专栏【数据结构初阶#xff08;C实现#xff09;】 目录所有接口函数栈的初始化在栈顶放数据释放数据删除数据取栈顶的数据判断栈取区是否为… 个人主页平行线也会相交 欢迎 点赞 收藏✨ 留言✉ 加关注本文由 平行线也会相交 原创 收录于专栏【数据结构初阶C实现】 目录所有接口函数栈的初始化在栈顶放数据释放数据删除数据取栈顶的数据判断栈取区是否为空栈区数据的个数运行总代码test.cStack.cStack.h所有接口函数 void StackInit(ST* ps);//栈的初始化 void StackDestroy(ST* ps);//销毁栈 void StackPush(ST* ps,STDataType x);//取栈顶的数据 void StackPop(ST* ps); STDataType StackTop(ST* ps);//取栈顶的数据 int StackSize(ST* ps); bool StackEmpty(ST* ps);//判断栈是否为空栈的初始化 //初始化 void StackInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;ps-top 0; 这里需要注意的是ps-top初始化成0或者-1是有一些区别的。 当top初始化成0的时候先放数据然后在ps-top意味着top指向的是栈顶数据的下一个 当top初始化成-1的时候(先ps-top,然后再放数据)意味着top指向栈顶数据。 总之我们到底是先ps-top,还是先放数据都是可以的。 在栈顶放数据 void StackPush(ST* ps, STDataType x) {assert(ps);if (ps-capacity ps-top){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDataType* tmp realloc(ps-a, sizeof(STDataType) * newCapacity);if (tmp NULL){printf(realloc fail\n);exit(-1);}ps-a tmp;ps-capacity newCapacity;}ps-a[ps-top] x;ps-top; }释放数据 //销毁 void StackDestroy(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-capacity ps-top 0; }删除数据 这里还没有报错所以当ps-top一直减减直到ps-top减到-1的时候此时就会进行报错因为此时已经没有东西可以删除了。 所以这里我们最好加上**assert(ps-top0);或者把这句话换为assert(!StackEmpty(ps));**当栈为空的时候就会提示我们不要在进行数据的删除了。 当栈里面的数据为空时此时如果我们还想删除数据就会直接报错。 //删除数据 void StackPop(ST* ps) {assert(ps);assert(!StackEmpty(ps));ps-top--; }取栈顶的数据 //取栈顶的数据 STDataType StackTop(ST* ps) {assert(ps);assert(!StackEmpty(ps));return ps-a[ps-top - 1]; }判断栈取区是否为空 bool StackEmpty(ST* ps) {assert(ps);//if (ps-top 0)//{// return true;//}//else//{// return false;//}return ps-top 0; }当栈为空的时候即ps-top0的时候返回真就代表栈为空的。 栈区数据的个数 int StackSize(ST* ps) {assert(ps);return ps-top; }由于我们刚刚初始化的时候ps-top初始化的为0top指向的是栈顶的下一个。 运行 总代码 test.c //数组栈的实现 #define _CRT_SECURE_NO_WARNINGS 1#includeStack.hvoid TestStack1() {ST st;StackInit(st);StackPush(st, 1);StackPush(st, 2);StackPush(st, 3);StackPush(st, 4);StackPop(st);StackPop(st);StackPop(st);StackPop(st);StackPop(st);//printf(%d\n, StackTop(st));//StackDestroy(st); }void TestStack2() {ST st;StackInit(st);StackPush(st, 1);StackPush(st, 2);StackPush(st, 3);StackPush(st, 4);printf(%d , StackTop(st));StackPop(st);printf(%d , StackTop(st));StackPop(st);StackPush(st, 5);StackPush(st, 6);while (!StackEmpty(st)){printf(%d , StackTop(st));StackPop(st);}StackDestroy(st); }int main() {//TestStack1();TestStack2();return 0; }Stack.c #pragma once #includeStack.h//初始化 void StackInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;ps-top 0;}//销毁 void StackDestroy(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-capacity ps-top 0; }void StackPush(ST* ps, STDataType x) {assert(ps);if (ps-capacity ps-top){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDataType* tmp realloc(ps-a, sizeof(STDataType) * newCapacity);if (tmp NULL){printf(realloc fail\n);exit(-1);}ps-a tmp;ps-capacity newCapacity;}ps-a[ps-top] x;ps-top; }//删除数据 void StackPop(ST* ps) {assert(ps);assert(!StackEmpty(ps));ps-top--; }//取栈顶的数据 STDataType StackTop(ST* ps) {assert(ps);assert(!StackEmpty(ps));return ps-a[ps-top - 1]; }int StackSize(ST* ps) {assert(ps);return ps-top; }bool StackEmpty(ST* ps) {assert(ps);//if (ps-top 0)//{// return true;//}//else//{// return false;//}return ps-top 0; }Stack.h #pragma once#includestdio.h #includestdlib.h #includeassert.h #includestdbool.htypedef int STDataType;typedef struct Stack {STDataType* a;int top;int capacity; }ST;void StackInit(ST* ps); void StackDestroy(ST* ps); void StackPush(ST* ps,STDataType x); void StackPop(ST* ps); STDataType StackTop(ST* ps);//取栈顶的数据 int StackSize(ST* ps); bool StackEmpty(ST* ps);
http://www.dnsts.com.cn/news/142020.html

相关文章:

  • 企业网站seo成功案例重庆制作网站公司简介
  • 胶州市网站建设互联网公司注册
  • 网站优化内链怎么做鞍山市残疾人网站开发
  • 云南建设厅查证网站全网营销型网站模版
  • 网站建设步骤流程详细介绍手机编写html软件
  • 为什么浏览器打不开一些网站可以打开任何网站的软件
  • 网站开发 有哪些优化功能企业网站推广技巧
  • 库尔勒网站网站快速收录方法
  • 厦门高端网站案例推广是什么
  • 网站建设色彩网站注册公司
  • 微山网站建设多少钱网站开发工资怎么样
  • 外国平面设计网站山东省住房建设厅网站
  • 建设众筹类网站做北京会所网站哪个好
  • 网站 手机 app国防教育网站建设方案
  • 企业网站推广短平快html5绿色的房地产手机网站模板源码
  • 下载建设网站视网站亏损了为什么还做
  • 聚合猫网站建设中国建设监理协会网站查询成绩
  • 录音录像手表网站安阳网络教研平台官网
  • 深圳网站建设知了网络北京优化网站公司
  • 网站文案框架微信公众号怎么做链接网站吗
  • 网站开发小程序定制微网站自助建站后台
  • 朋友让帮忙做网站生成器在线制作
  • 用什么程序做网站最好优化天津网站建设企业系统
  • 做门户网站价格php网站开发实用技术下载
  • 做兼职设计去哪个网站中国外贸人才网
  • 专业的模板建站企业软文推广做的比较好的推广平台
  • 网站建设好之后都有哪些推广方法如何使用手机看建设网站
  • 解聘 人力资源网站上怎么做seoul是啥意思
  • 网站建设技术合同三明购物网站开发设计
  • iis网站数据库失败拼多多采用的是哪种网络营销方式