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

江门网站seo推广福州网站优化公司

江门网站seo推广,福州网站优化公司,公司文件页面设计,北京网站建设公司排行榜栈的顺序存储实现通常使用数组来完成。实现方法包括定义一个固定大小的数组,以及一个指向栈顶的指针。当元素入栈时,指针加一并将元素存储在相应位置;当元素出栈时,指针减一并返回相应位置的元素。 1. 顺序栈定义 #define MaxSi…

在这里插入图片描述

  • 栈的顺序存储实现通常使用数组来完成。实现方法包括定义一个固定大小的数组,以及一个指向栈顶的指针。当元素入栈时,指针加一并将元素存储在相应位置;当元素出栈时,指针减一并返回相应位置的元素。

1. 顺序栈定义

#define MaxSize 10 	//定义栈中元素的最大个数
typedef struct
{ElemType data[MaxSize] 	//静态数组存放栈中元素int top;			//栈顶指针
}SqStack;//初始化栈
void InitStack(SqStack &S)
{S.top = -1;  //初始化栈顶指针
}//判断栈空
bool StackEmpty(SqStack S)
{if(S.top == 1) 	//栈空return true;else			//不空return false; 
}void testStack()
{SqStack S;		//声明一个顺序栈(分配空间)//.....后续操作......(增删改查)
}

1.1 进栈操作

#define MaxSize 10 	//定义栈中元素的最大个数
typedef struct
{ElemType data[MaxSize] 	//静态数组存放栈中元素int top;			//栈顶指针
}SqStack;//新元素入栈
bool Push(SqStack &S, ElemType x)
{if(S.top == MaxSize-1)  //栈满 报错  S.top = 9 栈满return false;//下面两句等价于:S.data[++S.top] = x;S.top = S.top+1;     //栈顶指针先+1 , 让指针从-1变为0S.data[S.top] = x;   //新元素入栈 return true;
}

1.2 出栈操作

#define MaxSize 10 	//定义栈中元素的最大个数
typedef struct
{ElemType data[MaxSize] 	//静态数组存放栈中元素int top;			//栈顶指针
}SqStack;//出栈操作
bool Pop(SqStack &S, ElemType &x)
{if(S.top = -1)		//栈空, 报错return false;x = S.data[S.top];   //栈顶元素先出栈, 存储在x中,然后栈顶指针下移一位S.top = S.top -1;	//指针减一,其实只是逻辑上被删除了,栈顶指针向下移动了一位而已return true;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/e67e95eade364b7a8bd1867876ba0045.png)

1.3 读取栈顶元素

//出栈操作
bool Pop(SqStack &S, ElemType &x)
{if(S.top = -1)		//栈空, 报错return false;//以下两行,等价于x = S.data[S.top--];  //先出栈,指针再减一x = S.data[S.top];   //栈顶元素先出栈, 存储在x中,然后栈顶指针下移一位S.top = S.top -1;	//指针减一,其实只是逻辑上被删除了,栈顶指针向下移动了一位而已    与出栈操作的唯一区别return true;
}//读栈操作
bool GetTop(SqStack S, ELemType &x)
{if(S.top == -1)return false;x = S.data[S.top];  //x纪录栈顶元素  只是将此时top指针指向的数据元素,用x返回,并没有top--操作return true;
}

2. 另一种方式

让top刚开始指向 0,判断栈是否为空,就变成了看S.top是否为0

#define MaxSize 10 	//定义栈中元素的最大个数
typedef struct
{ElemType data[MaxSize] 	//静态数组存放栈中元素int top;			//栈顶指针
}SqStack;//初始化栈
void InitStack(SqStack &S)
{S.top = 0;		//初始化栈顶指针
}void testStck()
{SqStack S; //声明一个顺序栈 InitStack(S);//后续操作.......
}//判空操作
bool StackEmpty(SqStack S)
{if(S.top == 0)   //栈空 return true;else		//不空return false;
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://www.mmbaike.com/news/69067.html

相关文章:

  • 手机微网站价企业qq下载
  • 网站编程工资多少郑州优化网站关键词
  • 谷歌怎么做网站优化百度极速版免费下载
  • django做网站好吗培训学校加盟费用
  • 漳州模板网站建设百度关键词热度查询工具
  • 廉价网站建设品牌营销策略包括哪些内容
  • 潍坊知名网站建设价格线上销售方案
  • 个性化网站模板seo网站制作优化
  • 建设部网站合并搜索引擎优化的具体措施
  • 京东网上商城会员注册步骤高手优化网站
  • wordpress调用摘要seo代理
  • 网站三层结构示意图推广普通话手抄报文字内容
  • 济南官方网站百度怎么做推广
  • 网站客服弹窗网站推广seo方法
  • 建站的步骤有哪些线下推广渠道和方式
  • 网站建设主要包括网络推广运营是做什么
  • 南宁seo网站排名优化公司营销服务机构
  • 建设个人信息网站厦门seo蜘蛛屯
  • 做网站公司哪里好长沙专业seo优化公司
  • 关于建设公司网站的建议网络推广专员所需知识
  • 怎么做整人点不完的网站视频市场营销图片高清
  • 做思维导图好看的网站青岛谷歌推广
  • 北京建设工程建设交易信息网站百度竞价投放
  • 公司需要网站 该怎么做百度秒收录
  • 做自己的优惠券网站广东百度seo
  • 如何查看网站是否开启gzip广告多的网站
  • 买模板建设网站株洲网站设计外包首选
  • 郑州哪个公司专业做网站什么推广平台比较好
  • 翠竹营销网站设计百度关键词首页排名服务
  • 图片加文字东莞seo靠谱