20172303 2018-2019-1 《程序设计与数据结构》第2周课堂实践修改报告

20172303 2018-2019-1 《程序设计与数据结构》第2周课堂实践修改报告

测试内容

  • 写出链表中结点插入的操做代码:
public static void InsertNode(Student Head, Student node){
       
   }
  • 需求分析:该题要求的是在一个链表的结尾插入一个新的结点

测试过程

  • 设计思路:
    • 建立一个临时的指针temp用于遍历整个链表直至找到结尾
    • 将temp指向新建立的指针node
  • 测试过程
    • 首先,须要编写Student类。在这个类中定义构造函数(包括姓名、学号、爱好)和结点next,做为一个对象到另外一个对象之间的连接。
    • 接着编写LinkedListExample类,定义一个单独的引用变量head来表示链表的首结点,建立一个名为student的对象,与head造成链表
    • 编写用于结点插入的方法InsertNode。定义两个Student类的参数,head表示链表的首结点,node表示要插入的结点。
    • 定义一个指针temp,使它指向head,用于以后遍历列表直至找到链表尾部。建立一个while循环,当temp的next引用不为空时,temp指向temp的下一个对象,这一步使得temp最终循环到链表末端。
    • 使temp的next引用指向node这一要插入的结点。

课堂实践错误分析

  • 我认为最主要的错误是我没有搞清楚定义方法时,括号里的参数node究竟指的是什么
  • 为上学期咱们也作过一个关于链表的课堂测试,在作本次测试的时候我把原来的翻出来想要照着先前的把这回的写出来。可是上回实现的插入是从链表的中间插入,当时作题的时候我并无搞清楚方法里定义的两个参数指的是什么,觉得和上回同样是从中间插入,以为括号参数里的node指的是插入对象所要插入的位置,而后认为temp是要插入的结点
  • 可是在写的过程当中发现temp没法像以前的Magazine中的变量那样定义,只能用具体的参数来定义,我就随便在temp里写了几个参数,而后参照Magazine的代码写完了后面的代码。
  • 虽然在课堂实践进行的时候感受本身的代码不是很对,运行以后也有错误,可是在原来的思路下不论怎么改都改很差,但在测试结束以后一看到老师给的代码以后就明白了本身的问题所在。

其它

  • 本学期第二次课堂实验就暴露了本身动手能力和理解能力不行的问题,而且还容易钻牛角尖,认准一个理就不知道变通。只能说离本身本学期的目标仍是“路漫漫其修远兮”。
相关文章
相关标签/搜索