1.学习总结
1.1 重要关键词:数据结构,线性表,逻辑结构,物理结构,栈,队列;
1.2 我的思维导图:
2.PTA实验作业
作业内容:
本周要求挑选出3道题目书写设计思路、调试过程。设计思路使用伪代码描述。题目选做要求:
a.不能选函数题
b. 编程题选3题
2.1题目一:7-1 jmu-字符串是否对称(20 分)
2.2设计思路:定义字符串s2,定义栈s1;
int i=0;
for(i=0;s2[i];i++)s1.push(s2[i]);//字符串全部入栈;
i=0;
while(!s1.empty()){
if(s1.top()!=s2[i]break;//字符串挨个与栈中元素比较;
s1.pop():}
2.2设计思路:利用栈先进后出的存储特点,字符串入栈后,出栈元素恰好是字符串是逆序的;
2.3代码截图:
2.4 PTA提交列表:
列表说明:部分正确是因为while(i++);
将i++提出在while语句中后则全部正确;
2.1题目二:7-2 符号配对(20 分)
2.2伪代码:定义str字符串;定义q栈;
while(gets(str)){
if(str[0]=='.'&&str[1]==' ')break;// 一行一行输入判断;
if(str[i]=='['||'('||'{'||'/*')p.push(str[i]);//此种符号均入栈;
if(str[i]==']'||')'||'}'||'*/')p.push(str[i])//碰到右边符号:
if(!p.empty()&&p.top()=='(')p.pop();//栈首元素为对应的左符号,栈首出栈;
else{
c=str[i];
flag=0;
break;
}//否则即为不配对字符;
if(!p.empty()){
if(p.top()=='[')printf("[-?
");
if(p.top()=='{')printf("{-?
");
if(p.top()=='(')printf("(-?
");
if(p.top()=='*')printf("/*-?
");
}
2.2设计思路:利用栈先进后出的存储特点,字符串入栈后,出栈元素恰好是字符串是逆序的;
2.3代码截图:
2.4 PTA提交列表:
列表说明:部分正确是因为while(i++);
将i++提出在while语句中后则全部正确;