给定一个用无序链表表示的集合,需要在其上执行operator+(),operator*(),operator-(),Contains
(x),AddMember(x),DelMember(x),Min(),试写出它的类声明,并给出所有这些成员函数的实现。
(x),AddMember(x),DelMember(x),Min(),试写出它的类声明,并给出所有这些成员函数的实现。
第1题
设计一个point(点)类: (1)该类具有成员变量x,y(表示点的横、纵坐标); (2)定义一个有参构造方法point(int x,int y),将其一对坐标值作为参数,其中x,y为给定坐标值; (3)定义一个无参的构造方法point()(令两坐标值均为0); (4)设计一个实例方法distance(point p1,point p2),实现求坐标轴上两个点的距离(Java中的开平方根函数为Math.sqrt()),其方法的声明为:double distance(point p1,point p2) 。 编写Test类,在其main方法中创建2个point对象,对应点(10,10)和点(20,25),再调用distance(point p1,point p2)方法计算出两点之间的距离并输出该值。
第3题
单链表
实验目的:
(1)熟练掌握线性表的单链式存储结构及在其上实现线性表的各种基本运算的方法。
(2)掌握和理解本实验中出现的一些基本的C语言语句。
(3)体会算法在程序设计中的重要性。
实验内容:
(1)设计一算法,逆置带头结点的动态单链表head。要求利用原表的结点空间,并要求用尽可能少的时间完成。
(2)设有两个按元素值递增有序的单链表A和B,编一程序将A表和B表归并成一个新的递增有序的单链表C(值相同的元素均保留在C表中),并要求利用原表的空间存放C。
第4题
A.211.60.31.120
B.215.64.31.120
C.215.60.31.192
D.211.64.31.192
第8题
对于一个具有n个结点的单链表,已知p所指结点后插入一个新结点的时间复杂度是O(1);在给定值为x的结点后插入一个新结点的时间复杂度是【 】。
第9题
对于一个具有11个结点的单链表,已知p所指结点后插入一个新结点的时间复杂度是O(1);在给定值为x的结点后插入一个新结点的时间复杂度是【 】。
第10题
A.单链表的插入操作中,需要建立一个新数据结点
B.单链表的访问方式是顺序访问方式,即要从第一个结点开始依次访问其他结点
C.建立单链表时,有正向生成构造和反向生成构造两种方法
D.单链表删除操作中,仅需要将被删结点从链表上取下来既可