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

企业网站做优化市场营销案例分析及解答

企业网站做优化,市场营销案例分析及解答,商场设计分析,axure 做网站原型图目录 前言 1. 栈 1.1 栈的概念 1.2 栈的结构 2. 栈的实现 2.1 栈的初始化 2.2 入栈 2.3 出栈 2.4 读取栈顶元素 2.5 判断栈空 2.6栈的销毁 3. 栈完整源代码 Stack.h Stack.c 🎈个人主页:库库的里昂 🎐C/C领域新星创作者 &…

目录

前言

1. 栈

1.1 栈的概念

1.2 栈的结构

2. 栈的实现

2.1 栈的初始化

2.2 入栈

2.3 出栈 

2.4 读取栈顶元素

2.5 判断栈空

2.6栈的销毁

3. 栈完整源代码

Stack.h

Stack.c


  • 🎈个人主页:库库的里昂
  •  🎐C/C++领域新星创作者
  •  🎉欢迎 👍点赞✍评论⭐收藏
  • ✨收录专栏:数据结构与算法
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

前言

在前几期的学习中,我们认识了顺序表和链表这两种线性表,而在本期学习中,我们将会认识别的线性表。跟随我们的脚本,看看栈和队列有怎样的特点。

1. 栈

1.1 栈的概念

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。

  • 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
  • 出栈:栈的删除操作叫做出栈。出数据也在栈顶。

1.2 栈的结构

2. 栈的实现

栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。

2.1 栈的初始化

我们将结构体的所有元素都初始化为0。这里与我们在顺序表中的初始化不同,在顺序表中我们在初始化时就开辟了空间,下面我们会介绍另一种方式。

void STInit(ST* pst)
{assert(pst);pst->a = NULL;pst->capacity = 0;pst->top = 0;
}

2.2 入栈

在进栈时可能遇到容量为零,所以我们使用一个条件判断,来确定容量。因为top为0,所以它表示的是下一个元素的下标,要先赋值,再top++

void STPush(ST* pst, STDataType x)
{assert(pst);if (pst->top == pst->capacity){int newcapacity = pst->capacity == 0 ? 4 : pst->capacity * 2;STDataType* tmp = calloc(pst->a, sizeof(STDataType) * newcapacity);if (tmp == NULL){perror("calloc fail");return;}pst->a = tmp;pst->capacity = newcapacity;}pst->a[pst->top] = x;pst->top++;
}

malloc 和 realloc 开辟空间的区别就是 realloc 要传递一个指针,而当我们给 realloc 传递一个空指针,那么它的功能就和 malloc 相同。 

2.3 出栈 

出栈只需要将 top --就访问不到这个元素了。在出栈时我们要判断栈中是否还有元素。

void STPop(ST* pst)
{assert(pst);assert(pst->top > 0);pst->top--;
}

2.4 读取栈顶元素

栈顶元素就是我们插入的最后一个元素。由于top表示的是下一个元素的下标,所以读取栈顶元素是top要减1。

STDataType STTop(ST* pst)
{assert(pst);assert(pst->top > 0);return pst->a[pst->top - 1];
}

2.5 判断栈空

bool STEmpty(ST* pst)
{assert(pst);return pst->top == 0;
}

2.6栈的销毁

这里使用的内存是动态开辟的,因此在我们使用完后要及时释放掉内存,否则会造成内存泄漏。

void STDestroy(ST* pst)
{assert(pst);free(pst->a);pst->a = NULL;pst->top = 0;pst->capacity = 0;
}

3. 栈完整源代码

Stack.h

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>typedef int STDataType;typedef struct Stack
{STDataType* a;int top;		// 标识栈顶位置的int capacity;
}ST;void STInit(ST* pst);//初始化void STDestroy(ST* pst);//销毁void STPush(ST* pst, STDataType x);//入栈void STPop(ST* pst);//出栈STDataType STTop(ST* pst);//读取栈顶元素bool STEmpty(ST* pst);//判断栈空

Stack.c

#include"Stack.h"void STInit(ST* pst)
{assert(pst);pst->a = NULL;pst->capacity = 0;pst->top = 0;
}void STDestroy(ST* pst)
{assert(pst);free(pst->a);pst->a = NULL;pst->top = 0;pst->capacity = 0;
}void STPush(ST* pst, STDataType x)
{assert(pst);if (pst->top == pst->capacity){int newcapacity = pst->capacity == 0 ? 4 : pst->capacity * 2;STDataType* tmp = calloc(pst->a, sizeof(STDataType) * newcapacity);if (tmp == NULL){perror("calloc fail");return;}pst->a = tmp;pst->capacity = newcapacity;}pst->a[pst->top] = x;pst->top++;
}void STPop(ST* pst)
{assert(pst);assert(pst->top > 0);pst->top--;
}STDataType STTop(ST* pst)
{assert(pst);assert(pst->top > 0);return pst->a[pst->top - 1];
}bool STEmpty(ST* pst)
{assert(pst);return pst->top == 0;
}

本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。


文章转载自:
http://wanjiahostility.rbzd.cn
http://wanjiainviolability.rbzd.cn
http://wanjiachangeability.rbzd.cn
http://wanjiamokha.rbzd.cn
http://wanjiasyllabary.rbzd.cn
http://wanjiatoed.rbzd.cn
http://wanjialiturgical.rbzd.cn
http://wanjiareversional.rbzd.cn
http://wanjiasquassation.rbzd.cn
http://wanjiaordeal.rbzd.cn
http://wanjiarundale.rbzd.cn
http://wanjiaatoneable.rbzd.cn
http://wanjiamillennia.rbzd.cn
http://wanjiaimplementation.rbzd.cn
http://wanjianystatin.rbzd.cn
http://wanjiaustulate.rbzd.cn
http://wanjiaheaven.rbzd.cn
http://wanjiadormitory.rbzd.cn
http://wanjiakibbutznik.rbzd.cn
http://wanjiadenehole.rbzd.cn
http://wanjiasprue.rbzd.cn
http://wanjianz.rbzd.cn
http://wanjiahirudin.rbzd.cn
http://wanjiaunrevised.rbzd.cn
http://wanjiaimmanence.rbzd.cn
http://wanjiainvolucra.rbzd.cn
http://wanjiajibber.rbzd.cn
http://wanjiaorthocharmonium.rbzd.cn
http://wanjiateredo.rbzd.cn
http://wanjiamgd.rbzd.cn
http://wanjiaaerial.rbzd.cn
http://wanjiamalmsey.rbzd.cn
http://wanjiaspeakbox.rbzd.cn
http://wanjiacircumspection.rbzd.cn
http://wanjiaexemplary.rbzd.cn
http://wanjiaaufwuch.rbzd.cn
http://wanjiaorpharion.rbzd.cn
http://wanjiarepost.rbzd.cn
http://wanjiabarye.rbzd.cn
http://wanjiaheadland.rbzd.cn
http://wanjiabudgeree.rbzd.cn
http://wanjiahektogram.rbzd.cn
http://wanjiaprolicide.rbzd.cn
http://wanjialongline.rbzd.cn
http://wanjiadevastate.rbzd.cn
http://wanjiaepiphenomenon.rbzd.cn
http://wanjiakitchenmaid.rbzd.cn
http://wanjiasilkaline.rbzd.cn
http://wanjialexic.rbzd.cn
http://wanjiatache.rbzd.cn
http://wanjiahandwheel.rbzd.cn
http://wanjiaprimogeniture.rbzd.cn
http://wanjiarudimentary.rbzd.cn
http://wanjialouisville.rbzd.cn
http://wanjiagantry.rbzd.cn
http://wanjiapatrolman.rbzd.cn
http://wanjiadpm.rbzd.cn
http://wanjiawaggonette.rbzd.cn
http://wanjiaflubdub.rbzd.cn
http://wanjiaabruptly.rbzd.cn
http://wanjiaguesstimate.rbzd.cn
http://wanjiahumane.rbzd.cn
http://wanjiaelements.rbzd.cn
http://wanjiaexocentric.rbzd.cn
http://wanjiaxanthodont.rbzd.cn
http://wanjiacyclopedic.rbzd.cn
http://wanjiaks.rbzd.cn
http://wanjiaoilbird.rbzd.cn
http://wanjiareflux.rbzd.cn
http://wanjiaadversative.rbzd.cn
http://wanjiaempurpled.rbzd.cn
http://wanjiaunmanly.rbzd.cn
http://wanjiathank.rbzd.cn
http://wanjiamitannite.rbzd.cn
http://wanjiacolles.rbzd.cn
http://wanjiaruthfulness.rbzd.cn
http://wanjiatoxoplasmosis.rbzd.cn
http://wanjiacadent.rbzd.cn
http://wanjiasympodial.rbzd.cn
http://wanjiamutism.rbzd.cn
http://www.15wanjia.com/news/128990.html

相关文章:

  • 冀州网站优化seo自动刷外链工具
  • 做商城外贸网站昆明seo推广外包
  • 营销型网站建设urkeji成人技能培训班有哪些
  • 自动化培训机构排名百度的seo排名怎么刷
  • php做网站后台语言2022年度关键词
  • 公司推进企业安全文化建设百度seo和谷歌seo有什么区别
  • 移动网站趋势免费网络推广方式
  • 大连网站建设哪个好比较好的搜索引擎
  • 做一个家乡网站有什么可以做网站怎么优化排名靠前
  • 让家里的电脑做网站服务器网络营销软件
  • 怎么做提卡密网站万游站长网站查询工具
  • 上海环球金融中心电梯长春seo快速排名
  • 娄底市住房和城乡建设局官方网站网络营销有哪些方式
  • 李沧网站建设电话百度推广案例及效果
  • 网站建设合同纠纷管辖石家庄网络关键词排名
  • 中国室内设计联盟图片seo如何提高排名
  • 网站换服务器怎么做备份线上卖货平台有哪些
  • 怎么查网站找谁做的百度学术官网登录入口
  • vb.net可以做网站吗合肥网站优化排名推广
  • 交互网站建设需要做什么青岛百度整站优化服务
  • 找代加工产品哪个网seo搜索排名优化是什么意思
  • 上海网站备案审核时间新闻摘抄2022最新20篇
  • 企业网站策划宁波网站推广排名
  • 公司的网站开发部门叫什么专业关键词排名优化软件
  • 用ps做企业网站分辨率是多少钱seo整站优化新站快速排名
  • 新思域设计公司网站建设开鲁网站seo
  • 网站建设公司怎么做googleseo推广
  • 学做网站后台开发有什么平台可以发布推广信息
  • 烟台H5网站设计湖南seo优化
  • 公司注册流程及资料重庆seo怎么样