任务1:顺序表存储整数集合类
具体要求:
1、建立集合类,要求类名为Jh+学号末两位,例如:学号为末两位为01的学生,建立的类名为Jh01。声明一个data数组和一个length变量,注意数据存储到数组从1开始。
2、查找资料掌握Vc中的随机函数,了解srand函数和rand函数的用法。为集合类设计一个构造函数,
函数原型如 Jh(int seed,int n,int bound)。实现根据随机数种子正整数seed,产生n个随机数,这些数从0到bound-1。并把它们存储的data数组中。
3、设计一个算法删除集合类中的重复元素。
4、设计一个算法输出集合类。
5、指定位置插入一个元素到集合中.
6、指定位置删除一个元素
7、查找一个元素,是否在集合中
8、实现两个集合类的求交集运算,交集对应一个新的对象。
9、实现两个集合类的求并集运算,并集对应一个新的对象。
10、设计合适的主函数对上面程序进行测试
预期目标:完成具体要求的任务,能够运行程序演示的结果,可以通过输入不同的测试用例,运行出相应的结果。
任务2:顺序表存储有序整数集合类
具体要求:
1、建立集合类,要求类名为Jh+学号末两位,例如:学号为末两位为01的学生,建立的类名为Jh01。声明一个data数组和一个length变量,注意数据存储到数组从1开始。
2、查找资料掌握Vc中的随机函数,了解srand函数和rand函数的用法。为集合类设计一个构造函数,
函数原型如 Jh(int seed,int n,int bound)。实现根据随机数种子正整数seed,产生n个不同的随机数,这些数从0到bound-1。并把它们存储的data数组中。
3、插入一个元素到集合中,集合继续保持有序
4、删除一个元素
5、采用二分查找,查找元素是否属于集合
6、采用改进冒泡排序算法,对集合进行排序。
7、设计基于有序集合类的求交集运算,交集对应一个新的对象。
8、设计基于有序集合类的求并集运算,并集对应一个新的对象。
9、设计合适的主函数对上面程序进行测试
预期目标:完成具体要求的任务,能够运行程序演示的结果,可以通过输入不同的测试用例,运行出相应的结果。
任务3:链表类的应用
具体要求:
1、根据seed随机生成有头的正整数链表;链表的长度为num,所存元素的值大于等于0,小于等于bound-1。
2、设计一个算法可以对链表进行排序,对链表进行排序。
3、设计一个算法,可以删除链表中的重复元素,。
4、设计一个算法,利用集合L1和L2递增的特性,生成一个新的链表L3,L3是L1和L2的交集,测试算法,输出L3链表。
5、设计一个算法,利用集合L1和L2递增的特性,生成一个新的链表L4,L4是L1和L2的并集,测试算法,输出L4链表。
6、设计一个算法,利用集合L1和L3递增的特性,生成一个新的链表L5,L5是L1和L3的差集,测试算法,输出L5链表。
7、设计删除算法,将链表进行释放成只含有一个头结点的空链表。
8、将L3和L5链表进行释放,设计一个算法将链表L4的值为偶数的新生成节点存在链表L3中,奇数存在链表L5中,链表L4保持不变。
预期目标:完成具体要求的任务,能够运行出,类似程序演示的结果,可以通过输入不同的测试用例,运行出相应的结果。