把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

第十周课下作业(补做)

课下作业(补做)

相关知识点的总结

排序

程序中经常会遇到需要对链表按照某种大小关系排序,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<K,V>类,分别按照价格和容量排序输出10个U盘的详细信息。

posted @ 2018-05-06 18:52  火鲤  阅读(118)  评论(0编辑  收藏  举报