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

网站建设方案书例子网站编辑seo

网站建设方案书例子,网站编辑seo,小公司做网站需要,网站建设中期检查表怎么写系列文章目录 文章目录系列文章目录前言一、栈二、栈的实现三、接口函数的实现1、初始化2、销毁栈3、压栈与出栈4、判空5、元素个数6、返回栈顶元素四、栈中元素的访问总结前言 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 一、…

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、栈
  • 二、栈的实现
  • 三、接口函数的实现
    • 1、初始化
    • 2、销毁栈
    • 3、压栈与出栈
    • 4、判空
    • 5、元素个数
    • 6、返回栈顶元素
  • 四、栈中元素的访问
  • 总结


前言

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。


一、栈

在这里插入图片描述

栈的结构如上图所示:像一个桶,元素是在竖直放入的。
在这里插入图片描述

栈只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,即元素遵循后进先出的原则,但注意这个是相对于栈内的元素。

二、栈的实现

在这里插入图片描述
我们可以用数组或链表的结构来实现栈,但栈这种数据结构是不存在随即插入这种方式的,因为它只能尾插。
我们以链表的方式来模拟的时候,我们需要不断地找尾,这个过程的时间复杂度是O(N)。所以我们是用数组可以更好的来实现栈的结构。

typedef struct Stack
{STDataType* a;int capacity;int top;
}ST;

三、接口函数的实现

1、初始化

void StackInit(ST* ps)
{assert(ps);ps->capacity = 4;ps->a = (STDataType*)malloc(sizeof(STDataType)*(ps->capacity));assert(ps->a);ps->top = 0;//栈顶元素的下一位置下标 top = 0/ 栈顶元素 top = -1
}

默认开辟四个元素大小空间,将top设为0,capacity设置为4。

2、销毁栈

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

3、压栈与出栈

void StackPush(ST* ps, STDataType x)
{assert(ps);//扩容if (ps->top == ps->capacity){ps->a = (STDataType*)realloc(ps->a, sizeof(STDataType) * ps->capacity * 2);ps->capacity *= 2;assert(ps->a);}ps->a[ps->top] = x;ps->top++;
}
void StackPop(ST* ps)
{assert(ps);assert(ps->top > 0);ps->top--;
}

压栈是尾部插入元素,所以要注意可能要扩容。
当一个栈为空的时候,恰好就是top为0的时候。

4、判空

bool StackEmpty(ST* ps)
{assert(ps);return ps->top == 0;
}

当一个栈为空的时候,恰好就是top为0的时候,因此,我们可以通过top来判断栈是否为空。

5、元素个数

int StackSize(ST* ps)
{assert(ps);return ps->top;
}

6、返回栈顶元素

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

四、栈中元素的访问

栈是无法像顺序表和链表那样不断地遍历元素的。因为,想要遍历元素必须取出栈顶元素,也就是说,我们必须删除栈顶的元素才能访问到下一个元素。因此,栈只能遍历一次,遍历一次之后就代表着栈已经空了。


总结

栈的特点就是后进先出。
任何问题都有解决的办法,无法可想的事是没有的。——爱迪生

http://www.tj-hxxt.cn/news/25405.html

相关文章:

  • wordpress uiseo价格查询公司
  • 手机上网自动跳转网站百度指数功能模块
  • 江西seo推广软件百度seo搜索引擎优化厂家
  • 宝贝做网站社群营销成功案例
  • 网站名申请站长之家是干什么的
  • 网站开发专业建设安康地seo
  • 母婴网站源码最新新闻热点事件
  • 网站建设外包国内seo排名
  • 有机农产品网站开发方案关键词指数
  • 如何做网站不被坑企业关键词优化推荐
  • 济南集团网站建设公司好湖南正规seo优化报价
  • wordpress 会员卡图片优化推广网站推荐
  • 电子科技 深圳 网站建设谷歌外链
  • 怎么做苹果手机网站首页郴州网站seo外包
  • 武汉做网站专业建站网站搜索排名优化价格
  • apache搭建多个网站自己做网站
  • html5制作网站百度下载软件
  • 电子商务网站建设解决方案武汉seo关键字优化
  • 武汉做网站互云百度点击工具
  • 搜书网站 怎么做新闻摘抄大全
  • 广东营销型网站建设多少钱成人企业管理培训课程
  • 如何做网站联盟免费发布推广信息的平台
  • 建设第三方公众号平台网站教程沈阳seo建站
  • 商务网站建设线下实体店如何推广引流
  • 上海建设工程安全监理网站电商网站有哪些
  • 专门找人做软件的网站百度指数数据下载
  • 朝鲜族做的电影网站最新军事新闻今日最新消息
  • 朋友圈网页怎么制作何鹏seo
  • 免费拿项目做的网站对网站进行seo优化
  • 偃师企业网站北京seo工程师