2019-2020-2314《数据结构与面向对象程序设计》实验六报告

学号 2019-2020-2314《数据结构与面向对象程序设计》实验六报告

课程:《程序设计与数据结构》

班级: 1823

姓名: 鞠明翰

学号:20182314

实验教师:王志强

实验日期:2019年10月23日

必修/选修: 必修

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行新代码,就签入代码,提交到源代码服务器;

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

(3)使用冒泡排序法或者选择排序法根据数值大小对链表进行排序(2分);

如果你学号是单数, 选择冒泡排序, 否则选择选择排序。
在排序的每一个轮次中, 打印元素的总数,和目前链表的所有元素。

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

1.截图加水印上传蓝墨云,代码push码云

2.撰写实验报告

(4)在android上实现实验(1)和(2)

(5)在android平台上实现实验(3)

2. 实验过程及结果

实验过程:按照蓝墨云上给的实验步骤,进行实验,然后参考网易云课堂java与安卓(邵发)的课程,完成本次实验并将实验结果截图,将代码上传至码云完成全部实验要求。

  • 实验六(1)

  • 实验六(2)

  • 实验六(3)


  • 实验六(4)

  • 实验六(5)

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

  • 问题1:栈的排序我一开始真不会
  • 问题1解决方案:
    首先我询问了胡泊同学并获得了他的代码
package com.company;
import org.w3c.dom.Node;
public class paixu{
    node point,point2,tem;
    int i,temp,j,max;
    public paixu(node head){
        for(point=head;point!=null;point=point.next){
            max=point.data;
            for(point2=point;point2!=null;point2=point2.next){
                if(point2.data>max){
                    max=point2.data;
                    temp=point.data;
                    point.data=point2.data;
                    point2.data=temp;
                }
         }
        }
        
    }
}

我一开始的思路集中在交换地址上,但后来发现难度属实有点大,后来询问胡泊同学后茅塞顿开,可以不交换地址,只交换数值。我觉得这个问题主要是我忘了大一的c语言的知识同时也是上课没认真听讲。

  • 问题2:在类中输入

EditText t2=(EditText)findViewById(R.id.***);
爆红。

  • 问题2解决方案:我在做实验五之前一直认为EditText是可以在所有类中输入的,但后来经过实践发现并不是,只有在MainActivity中可以使用,我觉得这也算是实践出真理了吧。
  • 问题3:安卓布局的时候文本框漫天乱飞

  • 问题3解决办法:我发现我采用的线性布局...所以框不听我的,但是我觉得就算采用正常布局,他还是乱飞,这个问题准确的说,我貌似没有什么特别好的解决办法。
  • 问题4:运行程序发现,虚拟手机的界面一直在主界面,不发生跳转,同时debug会直接中断,显示无法连接程序。
  • 问题4解决办法:经过我仔细查找相关资料发现我的mainactivity没有连接activity_main.xml..........

    其他(感悟、思考等)

    感觉最近实验和作业越来越难,实在有点跟不上,前面的很多知识其实都不是特别会。希望接下来的时间能更加适应这种节奏。

参考资料

猜你喜欢

转载自www.cnblogs.com/juminghan/p/11768450.html