可爱的坏人

 

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。

参考资料

posted on 2018-10-05 20:01  可爱的坏人  阅读(355)  评论(0编辑  收藏  举报

导航