zoukankan      html  css  js  c++  java
  • 20172310《程序设计与数据结构》实验一:线性结构实验报告

    20172310《程序设计与数据结构》实验一:线性结构实验报告

    报告封面

    • 课程:《软件结构与数据结构》
    • 班级: 1723
    • 姓名: 仇夏
    • 学号:20172310
    • 实验教师:王志强老师
    • 实验日期:2018年9月28日-2018年10月2日
    • 必修选修: 必修

    实验要求内容

    链表的练习

    • 实验一:链表的建立和基础功能的实现

    实现下列功能:
    通过键盘输入一些整数,建立一个链表
    这些数是你学号中依次取出的两位数。 再加上今天的时间。
    例如我的学号是 20172310
    今天时间是 2018/10/2, 16:23:49秒
    数字就是20, 17,23,10, 20, 18,10,2,16,23,49
    打印所有链表元素, 并输出元素的总数。
    在你的程序中,请用一个特殊变量名来纪录元素的总数,int nQiuxia = 0; //初始化为 0.
    把你的程序签入源代码控制(git push)。

    • 实验二:链表的功能的扩展和文件读写的实现
      实现节点插入、删除、输出操作;
      扩展它的功能,每做完一个新功能,或者写了超过10行新代码,就签入代码,提交到源代码服务器;
      从磁盘读取一个文件, 这个文件有两个数字。
      从文件中读取数字,并使用插入方法链入链表指定位置,
      从链表中删除刚才的数字1. 并打印所有数字和元素的总数。

    签入所有代码。

    • 实验三:链表排序功能的实现
      使用选择排序法根据数值大小对链表进行排序;
      在排序的每一个轮次中, 打印元素的总数,和目前链表的所有元素。

    数组的练习

    • 实验四数组的建立、基础功能的实现和文件读写的实现
      (1)通过键盘输入一些整数,建立一个链表(1分);
      这些数是你学号中依次取出的两位数。 再加上今天的时间。
      例如你的学号是 20172301
      今天时间是 2018/10/1, 16:23:49秒
      数字就是
      20, 17,23,1, 20, 18,10,1,16,23,49
      打印所有数组元素, 并输出元素的总数。
      在你的程序中,请用一个特殊变量名来纪录元素的总数,变量名就是你的名字。 例如你叫 张三, 那么这个变量名就是
      int nZhangSan = 0; //初始化为 0.

    做完这一步,把你的程序签入源代码控制(git push)。

    (2)实现节点插入、删除、输出操作(2分,3个知识点根据实际情况酌情扣分);

    继续你上一个程序, 扩展它的功能,每做完一个新功能,或者写了超过10行新代码,就签入代码,提交到源代码服务器;
    签入所有代码。

    • 实验五数组功能的拓展
      数组练习,要求实现下列功能:
      (3)使用冒泡排序法或者选择排序法根据数值大小对数组进行排序(2分);
      如果你学号是单数, 选择选择排序, 否则选择冒泡排序。
      在排序的每一个轮次中, 打印元素的总数,和目前数组的所有元素。

    在(2)得到的程序中继续扩展, 用同一个程序文件,写不同的函数来实现这个功能。 仍然用 nZhangSan (你的名字)来表示元素的总数。

    实验过程及结果

    • 实验一

    • 实验二

    • 实验三

    • 实验四

    • 实验五

    实验过程中遇到的问题和解决过程

    • 实验二,之前编写头插法的时候,就被判了一个0分。

    但是其实我在上面尝试的时候是更换了变量的

    如果不改变,仍使用Head,这样打印的时候是不会有错,但实际上,num3并没有链入head中,于是会丢掉头结点,对此作出了以上的修改

    • 实验五的时候,因为我的学号是双数,所以使用冒泡排序法根据数值大小对数组进行排序。
      但第一次尝试时,就出现了异常。

    发现是出现了范围问题,于是做出了修改

    • 实验五要求在排序的每一个轮次中, 打印元素的总数,和目前数组的所有元素。但是我发现一直打印不出元素,

    于是编写了一个isempty的方法,看看是不是因为数组里没有了元素

    结果发现是代码编写的逻辑有问题,进行了调试

    这里不应该使用数组的长度来限制循环,因为之前数组定义了
    长度是20,所以他后面的位置里会存放0,以至于比较大小,交换顺序的时候出现问题。

    其他(感悟、思考等)

    因为这次实验是在国庆假期的宝贵时间中进行的,于是乎想要快点完成,中途遇到的问题不少,但都很快的解决了,
    哈哈,果然假期的诱惑很大,让我快快的完成了作业。

    参考资料

  • 相关阅读:
    飞入飞出效果
    【JSOI 2008】星球大战 Starwar
    POJ 1094 Sorting It All Out
    POJ 2728 Desert King
    【ZJOI 2008】树的统计 Count
    【SCOI 2009】生日快乐
    POJ 3580 SuperMemo
    POJ 1639 Picnic Planning
    POJ 2976 Dropping Tests
    SPOJ QTREE
  • 原文地址:https://www.cnblogs.com/Qiuxia2017/p/9737313.html
Copyright © 2011-2022 走看看