北京邮电大学信息与通信工程学院 第1 页 数据结构实验报告 实验名称: 实验1 ——线性表 学生姓名: 班 级: 班内序号: 学 号: 日 期: 1 .实验要求 实验目的: 熟悉 C++语言的基本编程方法,掌握集成编译环境的测试方法 学习指针、模板类、异常处理的使用 掌握线性表的操作实现方法 培养使用线性表解决实际问题的能力 实验内容: 利用线性表实现一个一元多项式 Polynomial; f(x)=a0+a1x+a2x2+a3x3+…+anxn 提示:Polynomial 的结点结构如下: struct term { float coef;\\系数 int expn;\\指数 }; 可以使用链表实现,也可以使用顺序表实现 具体要求如下: 能够实现一元多项式的输入和输出 能够进行一元多项式相加 能够进行一元多项式相减 能够计算一元多项式在 x 处的值 能够计算一元多项式的导数(选作) 能够进行一元多项式相乘(选作) 编写 main ()函数测试算法的正确性 2
程序分析 由于多项式是线性结构,故选择线性表来实现,在这个程序中我采用的是单链表结构,每个结点代表一个项,多项式的每一项可以用其系数和指数唯一的表示
如果采用顺序存储,北 京 邮 电 大 学 信 息 与 通 信 工 程 学 院 第 2页 那 么 对 于 结 点 的 插 入 和 删 除 的 操 作 会 比 较 麻 烦 , 而 且 顺 序 表 的 结 点 个 数 固 定 , 对 于 可 能 发 生的 情 况 无 法 很 好 的 处 理 , 而 采 用 链 表 就 会 简 单 许 多 , 还 能 自 由 控 制 链 表 的 长 度
本 程 序 完 成 的 主 要 功 能 : 1、 输 入 和 输 出 : 需 要 输 入 的 信 息 有 多 项 式 的 项 数 , 用 来 向 系 统 动 态 申 请 内 存 ; 多