实验题目:设计一数据结构可处理任意长度的整数 概要设计1
数据结构的定义采纳双向链表存储任意长整数
双向链表的定义如下:class DblList { private: DblNode *head, *tail; DblNode *current;int sign;public:DblList(); //构造函数 ~DblList(); //析构函数bool CreatList(string); //生成一个双向链表,存储整数int GetCount(); //猎取整数的长度void Insert(DblNode *); //从表尾插入一个结点 void InsertFront(DblNode *); //从表头插入void Clear(); //去除该链表void operator+(DblList &); //实现两个任意整数的加法void operator*(DblList &); //实现两个任意整数的乘法DblList & operator=(DblList &); //重载赋值运算符 int Compare(DblList &); //两个整数的绝对值比拟 void Display(); //任意长度整数的标准化输出};说明:数据的存储,无外乎顺序或者链表
顺序存储时,定义数组无法实现任意长度,而且需要预设一个 maxsize,不是特别的方便
所以采纳链式存储方式
而且任意长数据通过字符串输入
在链表的每一个结点中,数据域是在该数位上的数字大小
2.主要功能模块的功能 任意长整数的输入 任意长整数的标准化输出 两个整数的加法 两个整数的乘法三.详细设计〔主模块流程图〕五、 使用说明与测试结果1
使用说明:点 击 打 开 应 用 程 序 pro1
依 次 输 入 任 意 两 个 整 数 〔 例 如123456,+1234567〕,按回车,会出现