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

门户网站是以什么为主焦作网站建设哪家专业

门户网站是以什么为主,焦作网站建设哪家专业,湖南省做网站那个企业便宜,驱动开发栈的概念及结构 栈#xff1a;一种特殊的线性表#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO#xff08;Last In First Out#xff09;的原则。 压栈#…栈的概念及结构 栈一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。 出栈栈的删除操作叫做出栈。出数据也在栈顶。 栈的定义 typedef int STDataType; typedef struct Stack {STDataType* _a;//数组int _top; // 栈顶,类似顺序表中的_sizeint _capacity; // 容量 }Stack; 对栈的操作 栈初始化 _top可以初始化为0此时栈顶元素是_top-1的位置 _top也可以初始化为1此时栈顶元素就是_top的位置 初始化为0 初始化为1 // 初始化栈 void StackInit(Stack* ps) {assert(ps);ps-_a NULL;ps-_capacity 0;ps-_top 0; } 压栈入栈 // 入栈 void StackPush(Stack* ps, STDataType data) {assert(ps);//扩容if (ps-_capacity ps-_top){int newcapacity ps-_capacity 0 ? 4 : 2 * (ps-_capacity);STDataType* tmp (STDataType*)realloc(ps-_a, newcapacity * sizeof(STDataType));if (tmp NULL){perror(realloc fail);return;}ps-_a tmp;ps-_capacity newcapacity;}ps-_a[ps-_top] data; } 出栈 void StackPop(Stack* ps) {assert(ps);assert(!StackEmpty(ps));ps-_top--; } 取栈顶元素 STDataType StackTop(Stack* ps) {assert(ps);return ps-_a[ps-_top-1]; } 判断栈是否为空 bool StackEmpty(Stack* ps) {assert(ps);return ps-_top 0; } 栈的长度 _top初始化为0此时的_top的大小刚好就是栈的长度 int StackSize(Stack* ps) {assert(ps);return ps-_top; } 栈销毁 void StackDestroy(Stack* ps) {assert(ps);ps-_capacity ps-_top 0;free(ps-_a);ps-_a NULL; } 完整总代码 头文件 #pragma once #includestdio.h #includeassert.h #includestdlib.h #includestdbool.h // 支持动态增长的栈 typedef int STDataType; typedef struct Stack {STDataType* _a;//数组int _top; // 栈顶,类似顺序表中的_sizeint _capacity; // 容量 }Stack; // 初始化栈 void StackInit(Stack* ps); // 入栈 void StackPush(Stack* ps, STDataType data); // 出栈 void StackPop(Stack* ps); // 获取栈顶元素 STDataType StackTop(Stack* ps); // 获取栈中有效元素个数 int StackSize(Stack* ps); // 检测栈是否为空如果为空返回非零结果如果不为空返回0 bool StackEmpty(Stack* ps); // 销毁栈 void StackDestroy(Stack* ps);函数定义 #includeStack.h // 初始化栈 void StackInit(Stack* ps) {assert(ps);ps-_a NULL;ps-_capacity 0;ps-_top 0; } // 入栈 void StackPush(Stack* ps, STDataType data) {assert(ps);//扩容if (ps-_capacity ps-_top){int newcapacity ps-_capacity 0 ? 4 : 2 * (ps-_capacity);STDataType* tmp (STDataType*)realloc(ps-_a, newcapacity * sizeof(STDataType));if (tmp NULL){perror(realloc fail);return;}ps-_a tmp;ps-_capacity newcapacity;}ps-_a[ps-_top] data; } // 出栈 void StackPop(Stack* ps) {assert(ps);assert(!StackEmpty(ps));ps-_top--; } // 获取栈顶元素 STDataType StackTop(Stack* ps) {assert(ps);return ps-_a[ps-_top-1]; } // 获取栈中有效元素个数 int StackSize(Stack* ps) {assert(ps);return ps-_top; } // 检测栈是否为空如果为空返回非零结果如果不为空返回0 bool StackEmpty(Stack* ps) {assert(ps);return ps-_top 0; } // 销毁栈 void StackDestroy(Stack* ps) {assert(ps);ps-_capacity ps-_top 0;free(ps-_a);ps-_a NULL; } 测试 #includeStack.h void test() {Stack s;StackInit(s);StackPush(s, 1);StackPush(s, 2);StackPush(s, 3);StackPush(s, 4);while (StackSize(s)0){printf(%d , StackTop(s));StackPop(s);}StackDestroy(s); } int main() {test();return 0; }欢迎各位一起学习交流~
http://www.w-s-a.com/news/262196/

相关文章:

  • 想代理个网站建设平台100个最佳市场营销案例
  • 钟表东莞网站建设石家庄做网站时光
  • 织梦 图片网站源码成都建设工程安监局网站
  • 做兼职的网站策划书湖北省建设工程造价信息网
  • 企业网站网址长期做网站应该购买稳定的空间
  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销
  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站
  • 哪个网站做logo设计我的建筑网
  • php电子商务网站开发沂源手机网站建设公司
  • html和php做网站哪个好3gcms企业手机网站整站源码asp
  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强