一、PTA实验作业

题目1:7-11 单向链表3:编程实现:输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入一个正整数 n(0<n<=9)和一组(n个)升序的整数,建立单向链表,再输入一个整数 x,把 x 插入到这组数据中,使该组数据仍然有序。

1. 本题PTA提交列表

2. 设计思路

主函数中输入repeat,做repeat次循环。每次循环都先输入该次循环数据的个数n,然后把这n个数据存储在链表中,最后输入待插入整数x,调用子函数fact(head,n,x)。子函数fact(head,n,x)分为三种情况:一,x<=链表的第一个数据,即头插法;二,x比链表里的所有数据都大,即尾插法;三,x位于链表中。分别有不同的处理方法。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1)格式错误:题目要求的输出格式是两个数据间有一个空格,行末不要空格。而我的输出是每个数据后面都带了一个空格。

4.代码截图。

题目二:7-12 单向链表4:定义单向链表:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。

 

1.本题PTA提交列表

2. 设计思路

在主函数中每记录一次数据就用一次头插法,这里的for循环以-1为标志结束,最后就变成倒序输入了,然后在输出时注意格式问题即可。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1)格式错误:与上题错误点一样。行末不能加空格。

4.代码截图。

题目三:7-13 单向链表5:定义单向链表struct Node并实现:输入若干个学生信息(包括学号、姓名和成绩),输入学号为0时输入结束,再输入一个成绩值,将成绩小于该值的学生信息删除,并将成绩大于等于该值的学生信息输出。

1.本题PTA提交列表

2. 设计思路

因为p->num=0是结束的标志,所以让动态分配后的初始化为-1。第一个for循环用于输入所有数据;第二个for循环用于删除分数比grade低的同学的信息,分为两部分:一,被删除点位于头结点,二,被删除点不是头结点;第三个for循环用于输出已删除后的链表。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1)答案错误:在第二个for循环中出现了逻辑上的错误,不能正确把握链表删除结点的操作。之后经过不断调试,还是正确了。

4.代码截图。

二、同学代码结对互评

1.互评同学:邢宇凡

2.我的代码、互评同学代码截图

邢宇凡同学的代码:

我的代码:

3.我和邢宇凡同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

不同在于:邢宇凡同学的代码在删除特定结点的条件语句分成了两部分,一为被删除结点为头节点,二为被删除点不是头结点。最主要的代码差异在于删除特定结点这一部分,邢宇凡同学的语言更加标准,且运用了多个子函数,函数名也有实际意义。而我直接用判断语句输出结果,并没有按照题目要求删除结点(这样很不好!)。

各自优势:邢宇凡同学完全按照题目的要求编译代码,且代码语言简洁明了。而若是题目不要求删除特定节点,我的代码会更加简短。

我更喜欢邢宇凡同学的代码。

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

本周学习总结

1.我学会了简单的链表,可以解决部分链表题目,例如:逆序输出数字。

2.本周的内容,你还不会什么?

删除结点对我来说难度还是不小。例如7-10,7-13.

3.链表考试总结

(1).哪题做错了,怎么改?

  7-10:题目要求先将已有数据某一部分删除后输出另一部分,可是在删除时遇到了未知原因的阻力,导致答案错误,而直接输出题目要求的那部分是正确的,但总感觉没完成作业。

(2).考试结果满意么,怎么改进?

  考试结果感觉还可以,但是考试的过程并不理想,代码打出来很简单,但是总要经过一番不断的调试才能达到正确。加深自己对链表的理解,深入学习链表知识点。

软件161A 张慧敏的更多相关文章

  1. 四则运算 Python实现(杨浩政,张兆敏)

    四则运算 GitHub仓库:https://github.com/15crmor/Arithmetic 项目要求: 题目:实现一个自动生成小学四则运算题目的命令行程序说明: 说明: 自然数:0, 1, ...

  2. Mac中MacPorts安装和使用

    文章转载至http://www.zikercn.com/node/8 星期四, 06/07/2012 - 19:02 - 张慧敏 MacPorts简单介绍 MacPorts,以前叫做DarwinPor ...

  3. 团队作业8--测试与发布(Beta阶段)

    展示博客 一.项目成员: 张慧敏(组长)201421122032 苏晓薇(组员)201421031033 欧阳时康(组员)201421122050 团队仓库: https://git.coding.n ...

  4. python week08 并发编程之多进程--理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.       而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): Jame在一个时间段内有很多任务要做:python学习任 ...

  5. 团队作业4(Alpha版本)

    项目名称:音乐播放器 项目成员: 张慧敏(201421122032) 苏晓薇(201421031033) 欧阳时康(201421122050) 会议记录:  主要讨论任务的分配和实现过程中已实现和未实 ...

  6. 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  7. 2014 年最热门的国人开发开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外认可.中国是开 ...

  8. 2014年国人开发的最热门的开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  9. 2014年最热门的国人开发开源软件TOP100

    2014年最热门的国人开发开源软件TOP100 不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多 ...

随机推荐

  1. GET请求/百度贴吧 有bug

    # -*- coding:utf-8 -*- import urllib, urllib2 import re import sys class Cuzz(): """这 ...

  2. 青否云 - 小程序待办事项vue开源系统

    青否云最新开源系统:小程序待办事项 vue-demo 青否云 vue demo 下载地址:https://github.com/qingful/vue-demo 官网 http://cloud.qin ...

  3. intellij IDEA里各图标对应的文件类型

    本篇内容为大家提供的是IntelliJ IDEA 使用教程中的常见文件类型的图标介绍,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一, ...

  4. 理解Babel是如何编译JS代码的及理解抽象语法树(AST)

    Babel是如何编译JS代码的及理解抽象语法树(AST) 1. Babel的作用是?   很多浏览器目前还不支持ES6的代码,但是我们可以通过Babel将ES6的代码转译成ES5代码,让所有的浏览器都 ...

  5. 开始连载啦~每周2更共11堂iKcamp课|基于Koa2搭建Node.js实战项目教学(含视频)| 课程大纲介绍

  6. Python 爬虫实战(一):使用 requests 和 BeautifulSoup

    Python 基础 我之前写的<Python 3 极简教程.pdf>,适合有点编程基础的快速入门,通过该系列文章学习,能够独立完成接口的编写,写写小东西没问题. requests requ ...

  7. 安装puppet

    安装puppet服务 先安装ruby语言包.ruby标准库.ruby shadow库 yum install -y ruby ruby-libs ruby-shadow 2.需要添加EPRL库,来支持 ...

  8. Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...

  9. 轻量级quill富文本编辑器

    因为公司产品需要在移动端编辑文本,所以发现了这个轻量级的好东西,网上也没找到比较好的案例,就自己总结了下,有兴趣的直接复制代码运行看看就知道啦! 下面是quill.js的CDN加速地址: <!- ...

  10. [编织消息框架][JAVA核心技术]异常应用

    QException是项目业务异常基类 按模块划分子类异常,方便定位那块出错 有个来源码属性code作用定位某个功能处理出错逻辑,数字类型节省内存空间,同时减少创建子类的子类 QSocketExcep ...