一、学习总结


1、写出你认为本周学习中比较重要的知识点关键词

·抽象数据类型
·栈和队列

2、思维导图

二、PTA实验作业


选题:

1、7-1 jmu-字符串是否对称(20 分)
2、7-4(选做) 列车厢调度(25 分)
3、7-2 银行业务队列简单模拟(25 分)

题目1:7-1 jmu-字符串是否对称

1、设计思路

#头文件
int main(){
定义字符串 c;
输入字符串;
定义字符型栈ch;
定义整型变量 len,i,a;
len <- c.size();
i <- 0;
a <- len%2;
if !a //偶数个
then while i小于len
do if i小于len/2 //进栈
then c[i]进栈
elseif c[i]等于栈顶
then 栈顶出栈
else
then 输出no
return 0;
i++;
end
else //奇数个
then while i小于len
do if i小于len/2 //进栈
then c[i]进栈
elseif c[i]等于栈顶
then 栈顶出栈
else
then 输出no
return 0;
if i等于len/2-1
then i++;
i++;
end 输出yes
return 0;
}

2、代码截图



3、PTA提交列表说明

编译错误:把编译器改成C++;
运行超时:一开始我是输入一个字符则进栈一个字符,结果运行超时,后来,修改成一次性输入字符串在进行判断。

题目2:7-4(选做) 列车厢调度

1、设计思路

#头文件
int main(){
定义整型变量 i<-0,j<-0;
定义字符型数组 a,b,res,res2;
定义字符型栈s;//用于储存轨道3的列车
输入 a,b;
while a[i]
do if a[i]==b[j]
then res[j++]<-a[i];
i++;
continue;
while s不为空&&s栈顶不等于b[j]
do res[j]<-b[j]
j++;
删除栈顶
end
if a[i]不等于b[j]
then a[i]进栈
i++
end
//将轨道3上的列车全部移向轨道2
while 栈s不为空
do res[j++]<-栈顶
删除栈顶
end
if res与b不同
then 输出“Are you kidding me?"
return 0;
i<-j<-0;
//如果res与b相同,则重复上述操作输出操作序列
while a[i]
do if a[i]==b[j]
then res2[j++]<-a[i];
i++;
输出 "1->2" 且换行
continue;
while s不为空&&s栈顶不等于b[j]
do res2[j]<-b[j]
j++;
输出 "3->2" 且换行
删除栈顶
end
if a[i]不等于b[j]
输出 "1->3" 且换行
then a[i]进栈
i++
end
while 栈s不为空
do res2[j++]<-栈顶
删除栈顶
输出 "3->2" 且换行
end
return 0;
}

2、代码截图





3、PTA提交列表说明

编译错误:代码中使用了gets()来输入字符串,头文件中的定义中没有,后来改用头文件#include <bits/stdc++.h>  ,该头文件包括了所有的头文件,不用写太多的头文件

题目3:7-2 银行业务队列简单模拟

1、设计思路

#头文件
int main(){
定义整型变量 temp,n,i<-0;
输入n;
定义队列A,B;
for i<-0 to n
do 输入temp
if temp为奇数
then 进A队列
else //temp为偶数
then 进B队列
end
//为了输出中间的空格,先输出一个
if A队列不为空
then 输出A队列头
删除A队列头
i++
else
then 输出B队列头
删除B队列头
while A队列不为空并且B队列不为空
do i++;
if i%2
then if A队列不为空
then 输出” ”和A的队列头
删除A队列头
else
if A队列不为空
then 输出” ”和A的队列头
删除A队列头
if B
then 输出” ”和B的队列头
删除B队列头
end
输出回车
return 0;
}

2、代码截图



3、PTA提交列表说明

编译错误:编译器为改成C++
部分正确:在输出第一个元素的时候,在B队列那里输出完后没有删除

三、本周题目集的PTA最后排名


1、栈PTA排名

2、队列PTA排名

3、我的总分:2.5

四、阅读代码

码云地址





功能:实现多项式A与多项式B的相除并输出商和余
优点:逻辑结构清晰,易于阅读;代码简洁;

五、代码Git提交记录截图


最新文章

  1. Java豆瓣电影爬虫——使用Word2Vec分析电影短评数据
  2. C语言系统时间读取
  3. 关于printf错用格式化字符串导致double和long double输出错误的小随笔
  4. OutputCache缓存各参数的说明
  5. 利用rlwrap配置linux下oracle sqlplus 历史记录回调
  6. PVRTC 纹理
  7. Fiddler的安装设置
  8. Javascript:面试经典套路-查重(reduce)
  9. Centos 6.9安装配置MongoDB
  10. 用JavaScript按一定格式解析出URL 串中所有的参数
  11. CodeForces 97 E. Leaders(点双连通分量 + 倍增)
  12. DeepLab 使用 Cityscapes 数据集训练模型
  13. 【转】Tomcat 快速入门
  14. 20145225唐振远《网络对抗》Exp4 恶意代码分析
  15. Ubuntu14.04下安装Cuda8.0
  16. BZOJ5288 HNOI/AHOI2018游戏
  17. python标准库介绍——28 md5 模块详解
  18. 练习calico的网络policy
  19. KineticJS教程(10)
  20. Codeforces 1099 D. Sum in the tree-构造最小点权和有根树 贪心+DFS(Codeforces Round #530 (Div. 2))

热门文章

  1. nvm命令行操作命令
  2. [BZOJ3237]连通图
  3. 【图片服务器】搭建Nginx图片服务器
  4. 解决 &quot;OperationalError: (sqlite3.OperationalError) no such table: ...&quot;问题
  5. 学习mybatis-3 step by step 篇一
  6. C#中标准Dispose模式的实现(转载)
  7. php 关联数组遍历
  8. 【Jmeter】配置不同业务请求比例,应对综合场景压测
  9. Rails 5 Test Prescriptions 第6章Adding Data to Tests
  10. error processing package oracle-java8-installer问题解决