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

c 语言可以做网站吗百度网盘官网

c 语言可以做网站吗,百度网盘官网,网站地图怎么提交,成都做网络推广的公司有哪些1. 栈的概念以及结构 栈#xff1a;一种特殊的线性表#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO#xff08;Last In First Out#xff09;的原则。 压栈…1. 栈的概念以及结构 栈一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。 压栈栈的插入操作叫做进栈/插栈/入栈入数据在栈顶。 出栈栈的删除操作叫做出栈。出数据也在栈顶。 2.栈的功能以及实现 栈的实现一般可以使用数组或者链表来实现相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小 这里定长的静态栈的结构实现中一般不实用 //静态栈 typedef int STDataType;#define N 10 typedef struct Stack {STDataType a[N];int top; }Stack; 所以我们主要实现下面的支持动态增长的栈 //支持动态增长的栈 typedef int STDataType;typedef struct Stack {STDataType* a; int top; //栈顶int capacity; //容量 }Stack; 栈所需要实现的一些功能 //栈初始化 void STInit(ST* ps); //清空栈 void STDestroy(ST* ps);//插入栈 void STPush(ST* ps); //删除栈元素 void STPop(ST* ps); //查看栈的大小 int STSize(ST* ps); //查看栈中有没有元素 bool STEmpty(ST* ps); //输出栈顶元素 STDataType STTop(ST* ps); -1. 栈初始化 void STInit(ST* ps) {assert(ps);ps-a (ST*)malloc(sizeof(ST) * CAPACITY__SIZE);if (NULL ps-a){perror(STInit::malloc);return;}//压栈元素的下一个位置ps-top 0;ps-capacity CAPACITY__SIZE; } -2. 清空栈 //清空栈 void STDestroy(ST* ps) {free(ps-a);ps-a NULL;ps-top 0;ps-capacity 0; } -3. 插入栈 //插入栈 void STPush(ST* ps, STDataType x) {assert(ps);if (ps-top ps-capacity){ST* Expand (ST*)realloc(ps-a,sizeof(ST) * ps-capacity * CAPACITY__SIZE);if (NULL Expand){perror(STPop::malloc);exit(-1);}ps-a Expand;ps-capacity * CAPACITY__SIZE;}ps-a[ps-top] x; } -4. 删除栈元素 //删除栈元素 void STPop(ST* ps) {assert(ps);assert(!STEmpty);ps-top--; } -5. 查看栈的大小 //查看栈的大小 int STSize(ST* ps) {return ps-top; } -6. 查看栈中有没有元素 //查看栈中有没有元素 bool STEmpty(ST* ps) {return ps-top 0; } -7.输出栈顶元素 //输出栈顶元素 STDataType STTop(ST* ps) {assert(ps);assert(!STEmpty);return ps-a[ps-top - 1]; } 整合以上我们来实现栈下面是实现栈的完整代码 Stack.h #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h #include stdlib.h #include assert.h #include stdbool.h//动态栈 #define CAPACITY__SIZE 4 typedef int STDataType;typedef struct Stack {int* a;int top;int capacity; }ST;//栈初始化 void STInit(ST* ps); //清空栈 void STDestroy(ST* ps);//插入栈 void STPush(ST* ps, STDataType x); //删除栈元素 void STPop(ST* ps); //查看栈的大小 int STSize(ST* ps); //查看栈中有没有元素 bool STEmpty(ST* ps); //输出栈顶元素 STDataType STTop(ST* ps); Stack.c #include Stack.hvoid STInit(ST* ps) {assert(ps);ps-a (STDataType*)malloc(sizeof(STDataType) * CAPACITY__SIZE);if (NULL ps-a){perror(STInit::malloc);return;}//压栈元素的下一个位置ps-top 0;ps-capacity CAPACITY__SIZE; }//清空栈 void STDestroy(ST* ps) {free(ps-a);ps-a NULL;ps-top 0;ps-capacity 0; }//插入栈 void STPush(ST* ps, STDataType x) {assert(ps);if (ps-top ps-capacity){STDataType* Expand (STDataType*)realloc(ps-a,sizeof(STDataType) * ps-capacity * CAPACITY__SIZE);if (NULL Expand){perror(STPop::malloc);exit(-1);}ps-a Expand;ps-capacity * CAPACITY__SIZE;}ps-a[ps-top] x; }//删除栈元素 void STPop(ST* ps) {assert(ps);assert(!STEmpty(ps));ps-top--; } //查看栈的大小 int STSize(ST* ps) {return ps-top; }//查看栈中有没有元素 bool STEmpty(ST* ps) {return ps-top 0; }//输出栈顶元素 STDataType STTop(ST* ps) {assert(ps);assert(!STEmpty(ps));return ps-a[ps-top - 1]; } test.c #include Stack.hint main() {ST Stack;STInit(Stack);STPush(Stack, 1);STPush(Stack, 2);STPush(Stack, 3);STPush(Stack, 4);STPush(Stack, 5);/*while (!STEmpty(Stack)){printf(%d-, Stack.a[--Stack.top]);}printf(NULL\n);*/while (!STEmpty(Stack)){printf(%d , STTop(Stack));STPop(Stack);}printf(\n);STDestroy(Stack);return 0; } 测试结果
http://www.tj-hxxt.cn/news/233708.html

相关文章:

  • 天津市北辰区建设与管理局网站系统优化升级
  • 网站底部链接代码泉州仿站定制模板建站
  • 中国寰球工程有限公司网站设计wordpress接入打赏
  • 网站建设实训意义ps做的网站
  • 做网站的表情包网站建设售前说明书
  • 东莞网站建设品牌公司中国最好的建设网站
  • 职教集团网站建设方案网页设计模板素材网站
  • 怎么选择一家好的网站建设公司网站建设开源模板
  • 常熟做网站的公司做投票页面什么网站好
  • 合肥网站营销贵阳网站建设托管
  • 如何做单网页网站重庆专业网站营销
  • 建站工具megentowordpress 防采集
  • 天津建筑网站建设邹平做网站的联系方式
  • 首饰盒东莞网站建设西安网站建设多少钱
  • 公司网站.可以自己做吗找专业做网站的公司
  • 做网站用的浏览器有哪些中国充电网络公司排名
  • 代做网站排名广东新闻联播直播回放
  • 官方网站的必要性做音乐网站要注意什么
  • 工信部网站备案规定邢台信息港房屋出租
  • 广东建设安全质量协会网站网站多国语言设计
  • 长春做网站价格iis怎么创建网站
  • 那个网站做代买腾讯企点聊天记录迁移
  • 视频网站如何做盗链企业管理
  • 北京外贸网站建设公司哪一家好
  • 建网站公建网站公司广州微网站建设服务
  • 什么做网站舞台灯光网站建设
  • 网站建设十胜石怎么用dw网站怎么建设
  • 该网站正在紧急升级维护中珠海个人建站模板
  • 厦门网站建设价格xm37搜房网站建设分析
  • 提升网站响应时间如何建立收费网站