课下作业(补做)

课下作业(补做)

相关知识点的总结

排序

程序中经常会遇到需要对链表按照某种大小关系排序,Collection类提供的对于排序和查找的类方法如下:

public static sort(List<E> list)----将list中的元素按升序排列

int binarySearch(List<T> list,T key,CompareTo<T> c)---使用折半查找法查找list是否含有和参数key相等的元素。

  • 有类的源代码,针对某一成员变量排序,让类实现Comparable接口,调用Collection.sort(List)
  • 没有类的源代码,或者多种排序,新建一个类,实现Comparator接口 调用Collection.sort(List, Compatator)

单链表

数据结构:单链表基本操作

涉及到单链表的基本操作有如下:

  • int initList(linkList *);  初始化一个单链表,具有头指针,头结点,头结点->next=NULL;
  • int createListHead(linkList *, int n);  头插法创建一个链表,链表长度为n;
  • int createListTail(linkList *, int n);  尾插法创建一个链表,链表长度为n;
  • int getlength(linkList *);  获取单链表的长度;
  • int printList(linkList *);  打印整个链表;
  • int getElem(linkList ,int i,ElemType );  获取链表中第i个位置处节点的数据元素;
  • int insertList(linkList *, int i, ElemType data);  在链表的指定位置(i节点)插入一个节点,i的范围为1~length(链表总长度);
  • int insertListTail(linkList *, ElemType data);  给链表追加一个节点,在最末尾处增加;
  • int deleteList(linkList , int i, ElemType data);  删除指定位置(i节点)处的节点,i的范围为1~length(链表总长度);
  • int clearList(linkList *); 删除整个链表,使头结点->next=NULL;

课上内容的补做,结果截图

1. 排序

针对下面的Student类,使用Comparator编程完成以下功能:
1. 在测试类StudentTest中新建学生列表,包括自己和学号前后各两名学生,共5名学生,给出运行结果(排序前,排序后)
2. 对这5名同学分别用学号和总成绩进行增序排序,提交两个Comparator的代码

2. 单链表

public class MyList {
    public static void main(String [] args) {
        //选用合适的构造方法,用你学号前后各两名同学的学号创建四个结点

        //把上面四个节点连成一个没有头结点的单链表

        //遍历单链表,打印每个结点的

        //把你自己插入到合适的位置(学号升序)

        //遍历单链表,打印每个结点的

        //从链表中删除自己

        //遍历单链表,打印每个结点的
    }
}

教材第十五章的编程题目

(1)使用堆栈结构输出an的若干项,其中an=2an-1+2an-2,a1=3,a2=8

(2)编写一个程序,将链表中的学生英语成绩单存放到一个树集中,使得按程序自动排序,并输出排序结果

(3)有10个U盘,有两个重要的属性:价格和容量。编写一个应用程序,使得TreeMap

原文地址:https://www.cnblogs.com/akashi/p/8999196.html

时间: 2024-11-09 09:33:22

课下作业(补做)的相关文章

20165212任胤第四周课上作业补做

20165212任胤 第四周课上测试补做 题目:jdb调试递归循环程序 程序代码: import java.util.Arrays; public class B { public static void main(String [] args) { if(args.length < 1){ System.out.println("Usage: java CLSumRecursion num1 num2 ..."); System.exit(0); } int m = Integ

20165201 课下作业第十周(选做)

#20165201 课下作业第十周(选做) 相关知识点总结 补做代码运行结果截图 补做代码链接 相关知识点的总结 课上内容的补做,结果截图 教材第十五章的代码分析 补做教材第十五章的编程题目 提交补做的博客作业的连接 主动找老师进行作业答辩 原文地址:https://www.cnblogs.com/cbmwtsl/p/9000384.html

20155332 补交ch12课下作业

20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等待I/O中的数据时内核会切换运行其他进程一样,我们的应用也可以用类似的方式,将I/O请求与其他工作重叠从而挖掘并发的潜能. 推迟工作而减少延迟:我们可以推迟一些耗时工作稍后执行,例如内存分配器不在free时整理碎片,而是将这些琐屑的工作推迟到一个稍后执行的独立"逻辑流"(logical f

2018.3.8课下作业

2018.3.8课下作业 相关知识点的总结 编写代码 mkdir用于新建文件夹 vi用于编写代码 esc:wq结束编写 上传码云 git add+文件名 git commit -m "说明" git push -f origin master pakeage注意 javac src/Hello.java -d bin编写至bin文件夹 java -cp bin is5227.Hello在bin文件夹中编译 课上内容的补做 作业:p14 结果截图 代码的功能:规定数的求和 作业:带包的代

课下作业2

课下作业(选做) 课上知识点总结: (详情请戳娄老师给出的使用JDB调试Java程序.) 输入jdb -classpath .:./bin SumofRecur 3方可进入JDB调试(3为函数的输入值): 进入函数不能使用next,要使用step: 想观察某个值,可使用print 你想观察的值语句: 课上内容补做: 首先是递归循环部分,我发现自己并不是从命令行输入,于是在此改了一下: 其次是jdb命令的补做: 原文地址:https://www.cnblogs.com/nmsl123/p/8640

20165306 第四周课下作业

第四周课下作业 一.相关知识点总结 Ctrl+Shift+T 打开三个标签页,Alt+1进入第一个标签页 vim HelloJDB.java编辑调试示例代码 javac -g -d bin src/HelloJDB.java编译,-g 参数为了产生各种调试信息,一定要加上 jdb -classpath .:./bin HelloJDB 调试 stop in方法断点,stop at行断点 run运行,locals查看变量 print i或eval i查看变量i的值 list查看运行到了源代码的什么

课下作业3

课下作业3 课上知识点总结: 参考老师给出的数据库教程完成数据库的链接以及环境配置: 参照课本327至332完成课上作业1: 课上内容补做: Example11-1的补做: 代码分析: Example11_1 import java.sql.*; public class Example11_1 { public static void main(String args[]) { Connection con=null; //初始化 Statement sql; ResultSet rs; //

第十周课下作业

第十周课下作业(补做课堂测试) 一.知识点总结 1.单链表 创建单链表 链表中数据的插入list.add("**"); 链表中数据的排序Collections.sort(); 链表中数据的删除lsit.remove(""); 2.排序 树集概念 树映射 TreeMap<K,V>**适合用于数据的排序** 通过关键字进行排序TreeMap<StudentKey,Student> treemap= new TreeMap<StudentKe

第八周课上内容补做

第八周课上内容补做 1. 通过输入gcc -S -o main.s main.c 将下面c程序"week04学号.c"编译成汇编代码 int g(int x){ return x+3; } int f(int x){ int i = 学号后两位: return g(x)+i; } int main(void){ return f(8)+1; } 删除汇编代码中 . 开头的代码,提交f 函数的汇编代码截图,图中用矩形标出函数栈帧的形成和销毁的代码. 结合C函数调用机制及栈帧指针中的实例,