栈和队列的基本操作实现及其应用.doc

栈和队列的基本操作实现及其应用.doc

ID:56904458

大小:71.00 KB

页数:15页

时间:2020-07-21

栈和队列的基本操作实现及其应用.doc_第1页
栈和队列的基本操作实现及其应用.doc_第2页
栈和队列的基本操作实现及其应用.doc_第3页
栈和队列的基本操作实现及其应用.doc_第4页
栈和队列的基本操作实现及其应用.doc_第5页
资源描述:

《栈和队列的基本操作实现及其应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二栈和队列的基本操作实现及其应用一_一、实验目的1、熟练掌握栈和队列的基本操作在两种存储结构上的实现。一_二、实验内容题目一、试写一个算法,判断依次读入的一个以@为结束符的字符序列,是否为回文。所谓“回文“是指正向读和反向读都一样的一字符串,如“321123”或“ableelba”。相关常量及结构定义:#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10typedefintSElemType;typedefstructSqStack{SElemType*base;SElem

2、Type*top;intstacksize;}SqStack;设计相关函数声明:判断函数:intIsReverse()栈:intInitStack(SqStack&S)intPush(SqStack&S,SElemTypee)intPop(SqStack&S,SElemType&e)intStackEmpty(s)一_三、数据结构与核心算法的设计描述1、初始化栈/*函数功能:对栈进行初始化。参数:栈(SqStackS)。成功初始化返回0,否则返回-1*/intInitStack(SqStack&S)-15-{S.base

3、=(SElemType*)malloc(10*sizeof(SElemType));if(!S.base)//判断有无申请到空间return-1;//没有申请到内存,参数失败返回-1S.top=S.base;S.stacksize=STACK_INIT_SIZE;S.base=newSElemType;return0;}2、判断栈是否是空/*函数功能:判断栈是否为空。参数;栈(SqStackS)。栈为空时返回-1,不为空返回0*/intStackEmpty(SqStackS){if(S.top==S.base)retur

4、n-1;elsereturn0;}3、入栈/*函数功能:向栈中插入元素。参数;栈(SqStackS),元素(SElemtypee)。成功插入返回0,否则返回-1*/intPush(SqStack&S,SElemTypee){if(S.top-S.base>=S.stacksize){S.base=(SElemType*)realloc(S.base,(S.stacksize+1)*sizeof(SElemType));//重新分配空间if(!S.base)return-1;S.top=S.base+S.stacksize

5、;S.stacksize+=STACKINCREMENT;}*S.top++=e;//插入操作return0;}4、出栈/*函数功能:在栈中删除元素。参数;栈(SqStackS),元素(SElemtypee)。成功删除返回0,否则返回-1*/intPop(SqStack&S,SElemType&e)-15-{if(S.top==S.base)return-1;e=*--S.top;//删除操作return0;}5、判断是否为回文/*函数功能:判断栈中的字符串是否为回文。参数;栈(SqStackS)。是回文时返回1,否则返

6、回0*/intIsReverse(SqStack&S){inti;chara;for(i=0;i

7、n0;}lpp=IsReverse(p);-15-if(lpp==0)cout<<"此字符串不是回文。"<usingnamespacestd;#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10charb[STACK_INIT_SIZE+STACKIN

8、CREMENT];intj=0;typedefcharSElemType;typedefstructSqStack{SElemType*base;SElemType*top;intstacksize;}SqStack;intInitStack(SqStack&S){S.base=(SElemType*)malloc(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。