补充实验
第二周
Arraystack类的实现和测试
1、完成课本中ArrayStack类的实现,特别是完成peek、isEmpty、size和toString方法的实现,并完成四个方法的测试。
(评分4分,包括4个方法的实现和测试,每个方法的实现和测试占1分,缺少实现或测试均扣除0.5分)
public T peek() throws EmptyCollectionException
{
}
public boolean isEmpty()
{
// To be completed as a Programming Project
}
public int size()
{
// To be completed as a Programming Project
}
public String toString()
{
// To be completed as a Programming Project
}
链表插入
2、链表插入:
写出链表中节点插入的操作代码:
public static void InsertNode(Student2 Head, Student2 node){
}
本题目分值2分,写出伪代码即可,需要逻辑正确。
链表实践
3、链表练习,要求实现下列功能:
(1)通过键盘输入一些整数,建立一个链表(1分);
(2)实现节点插入、删除、输出操作(2分,3个知识点根据实际情况酌情扣分);
(3)使用冒泡排序法或者选择排序法根据数值大小对链表进行排序(2分);
第三周
第四章代码检查
1、运行PP28,PP28页的程序,根据个人学号输入后缀表达式并计算。(例如,学号172301,输入1 7 + 2 3 0 1 - + *)
把运行结果截图上传。
pp4.1
2、给出size、isEmpty和toString等方法的定义,以完成LinkedStack
要求:1.能够运行
2.需要测试各个方法
3.把代码上传到码云,并将关键代码和运行结果截图加水印(学号)上传。
本题目3分,根据实际情况扣分。
第四周
凯撒密码
1、代码检查P72-P73,凯撒密码程序。
运行代码并截图,添加学号水印,上传到码云。
(1分)
杨辉三角
2、使用循环队列输出杨辉三角(本题目是选做题,总分1分,计入加分。)。
(1)用数组实现循环队列(要考虑扩容问题,否则不加分);
(2)输出杨辉三角;
(3)代码运行结果添加学号水印,并上传;代码传到码云,附上码云链接。
第六周
第六章代码检查
1、运行PP6.8和PP6.11的程序,把结果截图,加学号水印,
线性表实践
2、定义一个商品类Product,需要包括商品名称、价格等信息,使用链式存储结构实现一个线性表,存储商店中的商品。
支持插入、删除、选择排序、查找等功能,并进行简单测试。
需要使用的知识点:
1.泛型
2.实现Comparable接口中的方法
3.链式存储结构
评分标准:满分5分
第十周
堆排序测试
1、根据关键字序列:36,30,18,40,32,45,22,50,利用数组构造一颗大顶堆,并排序。
要求:
(1)输出构造好的大顶堆序列(层序);(2)
(2)输出每轮排序的结果(数组的结果);(2)
把结果截图并加学号水印上传到蓝墨云,代码上传到码云。
课堂上完成且结果正确,直接得5分;
课堂上未完成,课下完成且结果正确且撰写博客,得4分;