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

    20172327 2018-2019-1 《程序设计与数据结构》实验一:线性结构实验报告

    • 课程:《Java软件结构与数据结构》
    • 班级:201723
    • 姓名:马瑞蕃
    • 学号:20172327
    • 实验教师:王志强
    • 实验日期:2018年9月28日-2018年10月2日
    • 必修/选修:必修

    一、实验内容:

    实验一:基本链表构建:

    • 1.通过键盘输入一些整数,建立一个链表。
      这些数是你学号中依次取出的两位数。再加上今天的时间。
      例如
    你的学号是 20172301
    今天时间是 2018/10/1, 16:23:49秒
    数字就是:
    20, 17,23,1, 20, 18,10,1,16,23,49
    
    • 2.打印所有链表元素, 并输出元素的总数。

    • 3.在你的程序中,请用一个特殊变量名来纪录元素的总数.

    变量名就是你的名字。 例如你叫 张三, 那么这个变量名就是 
    	int nZhangSan = 0;   //初始化为 0. 
    
    • 4.做完这一步,把你的程序签入源代码控制(git push)。

    实验二:实现节点插入、删除、输出操作

    • 1.从磁盘读取一个文件,这个文件有两个数字。
    	从文件中读入数字1,插入到链表第 5 位,并打印所有数字,和元素的总数。 保留这个链表,继续下面的操作。 
    	从文件中读入数字2,插入到链表第 0 位,并打印所有数字,和元素的总数。 保留这个链表,并继续下面的操作。
    
    • 2.从链表中删除刚才的数字1.
    • 3.并打印所有数字和元素的总数。

    实验三:实现链表的冒泡排序

    • 1.使用冒泡排序法或者选择排序法根据数值大小对链表进行排序。
    • 2.打印元素的总数,和目前链表的所有元素。

    实验四:实现数组插入、删除、输出操作

    	从文件中读入数字1,插入到数组第 5 位,并打印所有数字,和元素的总数。 保留这个数组,继续下面的操作。 
    	从文件中读入数字2,插入到数组第 0 位,并打印所有数字,和元素的总数。 保留这个数组,并继续下面的操作。
    

    实验五:实现数组的选择排序

    • 1.使用冒泡排序法或者选择排序法根据数值大小对数组进行排序
    • 2.打印元素的总数,和目前数组的所有元素。

    二、实验过程及结果:

    实验一

    我通过用泛型的方法来做的,原码可以借用书本代码进行修改。

    实验二

    先判断文件,再将文件内内容读出,并将第0个字符和第2个字符读出分别使其成为两个将要插入的元素。

    实验三

    在LinkedStack中加入一个新的方法,使用冒泡排序来排列当前链表中数字的顺序。

    实验四

    重新构造一个Array类,将创建数组所需要的插入,从某位置插入,从某位置删除,以及计算元素数目,等方法都写入。读取文件和插入文件与实验二中所用方法相同。

    实验五

    添加选择排序方法到类中,在判断大小排序的过程中,可将每一部之后数组的变化情况随循环输出。

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

    问题1.在文本读取并赋值位元素的过程中

    如下图所示,在将char型转化为String型或int型的过程中,遇到了一些问题。

    通过在网络上查找,我将char型转化为int型的情况和方法进行了查找:https://blog.csdn.net/chen372901/article/details/52102074

    问题2.在选择排序时,发现排序后数组全变为0了

    如下图所示

    通过对比,发现我在写方法时,出现了很大错误,最后通过对同学方法的对比,改了好多才合适。

    四、感悟

    通过这次实验,我发现我对这段时间链表,数组,队列的学习并部扎实,有些基本的还是记不住,在逻辑推理的过程中,遇到的麻烦也比较多。这次实验让我知道了,最近的不足,也让我决定抽出更多时间去学习Java。

    参考资料

  • 相关阅读:
    (04)-Python3之--字典(dict)操作
    word2vec简单介绍
    基于websocket爬虫
    Python数据结构之链表(1)-->单链表
    词云wordcloud
    Neo4j--第一章
    AHP(层次分析法) 附Python示例代码(觉得还可以的,帮忙点个赞,谢谢)
    几种归一化方法(Normalization Method)python实现
    EM算法之Python
    通俗易懂的EM
  • 原文地址:https://www.cnblogs.com/mrf1209/p/9745694.html
Copyright © 2011-2022 走看看