数据l构W三章设计题及参考答案[1]_跨考网
法设计?/span>
1. 设有两个?/span>S1,S2都采用顺序栈方式Qƈ且共享一个存储区[O..maxsize-1],Z量利用I间Q减溢出的可能Q可采用栈顶相向Q迎面增长的存储方式。试设计S1,S2有关入栈和出栈的操作法。?a target="_blank">哈尔滨工业大?/a> 2001 ?/span> Q?/span>12分)?/span>
【参考答案?/span>
[题目分析]两栈׃n向量I间Q将两栈栈底讑֜向量两端Q初始时Q?/span>s1栈顶指针?/span>-1Q?/span>s2栈顶?/span>maxsize。两栈顶指针盔R时ؓ栈满。两栈顶相向Q迎面增长,栈顶指针指向栈顶元素?/span>
#define maxsize 两栈׃n序存储I间所能达到的最多元素数
#define elemtp int //假设元素cd为整?/span>
typedef struct
{elemtp stack[maxsize]; //栈空?/span>
int top[2]; //topZ个栈指?/span>
}stk;
stk s; //s是如上定义的l构cd变量Qؓ全局变量?/span>
(1)入栈操作Q?/span>
int push(int i,int x)
//入栈操作?/span>i为栈Pi=0表示左边的栈s1Q?/span>i=1表示双的栈s2Q?/span>x是入栈元素。入栈成功返?/span>1Q否则返?/span>0?/span>
{if(i<0||i>1){printf(“栈可入不对?/span>);exit(0);}
if(s.top[1]-s.top[0]==1) {printf(“栈已满\n?/span>);return(0);}
switch(i)
{case 0: s.stack[++s.top[0]]=x; return(1); break;
case 1: s.stack[--s.top[1]]=x; return(1);
}
}//push
Q?/span>2Q?/span> 退栈操?/span>
elemtp pop(int i)
//退栈算法?/span>i代表栈号Q?/span>i=0时ؓs1栈,i=1时ؓs2栈。退栈成功返回退栈元素,否则q回-1?/span>
{if(i<0 || i>1){printf(“栈可入错?/span>\n?/span>)Q?/span>exit(0);}
switch(i)
{case 0: if(s.top[0]==-1) {printf(“栈I?/span>\n?/span>)Q?/span>returnQ?/span>-1Q;}
else return(s.stack[s.top[0]--]);
case 1: if(s.top[1]==maxsize {printf(“栈I?/span>\n?/span>); return(-1);}
else return(s.stack[s.top[1]++]);
}
}//法l束
[法讨论] h意算法中两栈入栈和退栈时的栈指针的计算。两栈共享空间示意图略,s1栈是通常意义下的栈,?/span>s2栈入栈操作时Q其栈顶指针左移Q减1Q,退栈时Q栈指针右U(?/span>1Q?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ23考研的考生准备?0大课包全E准备、全q复习备考计划、目标院校专业辅对{全真复试模拟练习和全程针对性指|2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习计划 | |||
2023备考学?/td> | 2023U上U下随时学习 | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |