PIC 10B Homework 5 Due Wednesday, March 10
Problem 1:
Using good coding practices, design your own Linked List of int types. It will consist
of classes List, Node, and Iterator granting friendship and defining functions as needed.
Write constructors, destructors, and all necessary member functions such as insert, erase,
increment and decrement operators, operator* to dereference, as well as operator== and
operator!= to check whether two iterators are pointing to the same element. You will then
use this list to write the following member functions:
PIC 10B家庭作业5将于3月10日星期三到期
问题一:
使用良好的编码习惯,设计自己的int类型链接列表。它将包括
List,Node和Iterator的类授予友谊并根据需要定义功能。
编写构造函数,析构函数以及所有必要的成员函数,例如插入,擦除,
增量和减量运算符,要取消引用的运算符*以及运算符==和
operator!=检查两个迭代器是否指向同一个元素。然后你会
使用此列表编写以下成员函数:
(1)List :: reverse反转你的节点
(2)List :: push front在列表的开头添加一个值
(3)List :: sort对链接列表的元素进行排序(无需将其复制到向量或
另一种数据类型)
(4)List :: merge,它接受另一个List对象,并将两个列表合并为一个,交替
每个列表中的元素,这样合并1 7 12和8 3 11 2 2 1会得出列表1
8 7 3 12 11 2 2 1。
编写一个主要函数来测试您的列表,使其遵循图1所示的输出。
图1:示例输出。
3月10日,星期三,作业5 PIC 10B
良好的编码习惯:
•考虑跨平台。不要仅使用Windows或Mac命令。例如,
两次== cin.get()暂停,写很多\ n而不是system(clear)或system(’cls)。
•尽可能通过引用&或const&传递对象
•在所有构造函数中尽可能使用字段初始值设定项列表
提交说明:
•精确命名文件hw5.cpp,List.h,List.cpp,Node.h,Node.cpp,Iterator.h,
和Iterator.cpp。
•您不得使用#include“ stdafx.h”。
•在文件开头的注释中添加代码描述。
样本描述可能如下所示:
/ *
PIC 10B 2A,作业1
目的:井字游戏
日期:10/10/2019
* /
•将头文件和源代码以单独的文件提交给CCLE。仅.h和.cpp
文件应上传。
如有需要,请加QQ:99515681 或WX:codehelp