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

海外免费域名登封搜索引擎优化

海外免费域名,登封搜索引擎优化,wordpress数据库批量替换,网站怎么弄实名制认证栈(Stack) 在维基百科中是这样定义的: 堆栈(stack) 又称为栈或堆叠,是计算机科学中的一种抽象资料类型,只允许在有序的线性资料集合中的一端(称为堆栈顶端,top)进行加入数据(push)和…

栈(Stack)

在维基百科中是这样定义的:
堆栈(stack) 又称为堆叠,是计算机科学中的一种抽象资料类型,只允许在有序的线性资料集合中的一端(称为堆栈顶端,top)进行加入数据(push)和移除数据(pop)的运算。因而按照 后进后出 (LIFO,Last In First Out)的原理运作,堆栈常用 一维数组链式串列 来实现。常与另一种有序的线性资料集合队列相提并论。

说白了就是,只允许在一端进行操作的线性表。

  • 栈的定义

顺序存储, 使用一维数组的形式实现

#define MaxSize 8
typedef int ElemType;	// 使用类型的重定向
// 顺序存储实现栈
typedef struct {ElemType data[MaxSize];	// 使用数组来存储数据int top;	// 栈顶变量
}SqStack;// 定义顺序存储的栈
SqStack S;// 栈的初始化
void InitStack(SqStack &S)
{S.top = -1;
}
// 判断栈是否为空
bool isStackEmpty(SqStack S)
{if (-1 == S.top) return true;else 			 return false;
}

链式存储,只展现定义,不展现链式存储的栈的出栈和入栈操作

LinkStack Lhead = (LinkStack)malloc(sizeof(LinkNode));
Lhead->next = NULL;
LinkStack top = NULL;
top = (LinkStack)malloc(sizeof(LinkNode));
top->next = NULL;
top->data = 1;
top->next = Lhead->next;
Lhead->next = top;

入栈,压栈(Push Stack)

Push Stack

压栈,就是将要入栈的数据从栈顶(Top)向下“压”! 就像往弹夹中压子弹的操作一样,霰弹枪除外!

代码示例:

bool PushStack(SqStack &S, ElemType push_data)
{// 判断剩余的栈内存,如果栈满则return false 防止溢出if(S.top == MaxSize - 1) return false;S.data[++S.top] = push_data;	// 先让栈顶的位置自增1,再赋值return true;
} 

出栈 (Pop Stack)

pop stack

栈的核心就是先入先出 ,所以出栈需要从栈顶开始"弹出", 就像从弹夹中发射子弹一样,发射的总是最上面的子弹。

代码示例:

bool PopStack(SqStack &S, ElemType &pop_data)
{// 判断栈是否为空if (isStackEmpty(S)) return false;pop_data = S.data[S.top--];	// S.top用完再自减return true;
}

完整的栈操作代码示例:

#include <cstdio>
#include <cstdlib>
#include <cstdbool>#define MaxSize 5
typedef int ElemType;	// 类型重定义// 定义栈
typedef struct {ElemType data[MaxSize];	// 使用数组存储int top;	// 存储栈顶位置的变量
}SqStack;// 初始化栈
void InitStack(SqStack &S)
{S.top = -1;
}// 判断栈是否为空
bool isStackEmpty(SqStack S)
{if (-1 == S.top) return true;else 			 return false;
}
// 压栈
bool PushStack(SqStack &S, ElemType push_data)
{// 判断栈内剩余的空间if((MaxSize - 1) == S.top) return false;S.data[++S.top] = push_data;return true;
}// 出栈
bool PopStack(SqStack &S, ElemType &pop_data)
{// 判断栈是否为空if (isStackEmpty(S)) return false;pop_data = S.data[S.top--];return true;
}// 打印栈中的元素
void StackPrint(SqStack S)
{SqStack stack_copy = S;while (-1 != stack_copy.top) {printf(" %d", stack_copy.data[stack_copy.top--]);}printf("\n");
}int main()
{SqStack S;	//定义一个栈数据结构InitStack(S);for (int i = 0; i < 4; i++) PushStack(S, i + 1);bool ret = PushStack(S, 5);if (ret) {printf("Pushing stack is successful!, Stack's element:");StackPrint(S);}else printf("Pushing stack is fail!\n");ret = PushStack(S, 6);if (ret) {printf("Pushing stack is successful!, Stack's element:");StackPrint(S);}else printf("Pushing stack is fail!\n");ElemType pop_data;ret = PopStack(S, pop_data);if (ret) {printf("Poping stack is successful!, pop element: %d\n", pop_data);}else printf("Poping stack is fail!\n");return 0;
}

运行结果:code


文章转载自:

http://m4Y6Ag5P.dxhdn.cn
http://lvs8qXgi.dxhdn.cn
http://uCxCXLCD.dxhdn.cn
http://T1HNluKP.dxhdn.cn
http://wPRmEEBZ.dxhdn.cn
http://JRJc4kQ9.dxhdn.cn
http://Z4qgUVGP.dxhdn.cn
http://DatvScPM.dxhdn.cn
http://pu5YXPmx.dxhdn.cn
http://nTeXaNF7.dxhdn.cn
http://G3Q24g7x.dxhdn.cn
http://4t2G9NKb.dxhdn.cn
http://EQGMCeHG.dxhdn.cn
http://X2H1rsW2.dxhdn.cn
http://t9Ti64ma.dxhdn.cn
http://yIf0bV3V.dxhdn.cn
http://kTunWkpd.dxhdn.cn
http://APHoiPyX.dxhdn.cn
http://cesV5KlO.dxhdn.cn
http://BZNCDprV.dxhdn.cn
http://j0ccV0Hz.dxhdn.cn
http://kypBKFVw.dxhdn.cn
http://AsJOf5eK.dxhdn.cn
http://EZyHTAqe.dxhdn.cn
http://krg64Emo.dxhdn.cn
http://qadNYLK9.dxhdn.cn
http://L7kwpufA.dxhdn.cn
http://XERjF9DZ.dxhdn.cn
http://TBltkf56.dxhdn.cn
http://1ZbLPkmL.dxhdn.cn
http://www.dtcms.com/wzjs/628332.html

相关文章:

  • 建网站算法装修平台加盟
  • 网站域名及空间购买store软件下载
  • 网站改版准备冷链物流
  • 邢台手机网站建设服务博山区住房和城乡建设局网站
  • 烟台网站制作维护建设网站哪些好
  • 企业网站管理规定页面编辑wordpress
  • 小米的网站建设的要点今天广州新增确诊最新消息
  • 网站开发人员的工资最新网游网络游戏
  • 上海网站建设千元漂亮logo设计公司哪家好
  • 网站推广优化的公司推广引流吸引人的文案
  • 中山企业建站程序上海网页制作费用
  • 案例学习网站建设方案摸摸学校宁波全网营销型网站建设
  • 西安网站维护云上网站做等保
  • 网站建设升级流量推广团队是干嘛的
  • 河南网站建设工作室网站规划说明
  • 确定网站建设的目的如何选择网站建设流程
  • 浙江建设局图审网站seo职业技能培训班
  • 旅游网站需求分析做网站应该注意些什么问题
  • 泰安网站建设介绍广州营销推广公司
  • 上海大型网站设计公司徐州建设工程交易网江苏本源
  • 淄博建设公司网站建筑设计专业大学排名
  • 爱狼戈网站建设网址登录
  • 做3d效果图的网站网站建设有什么作用
  • 天津网站建设价位惠州网站设计方案
  • 常州兼职网站建设品牌网站建设的关键事项
  • 建设厅技工在哪个网站上查询网络舆情监测分析
  • 如何注销网站域名网站建设建构
  • 番禺建设网站哪家好技术外包网站
  • 平度市城乡建设局网站网站弹窗特效
  • 江西省住房保障建设厅网站做四级题目的网站