数据结构Java版第二章习题

合集下载

第02章 线性表(Java版)

第02章  线性表(Java版)

p
… an-1 ∧
ai-1
ai
ai+1
(b)中间/尾删除,不改变head
ai ai+1 … an-1 ∧
head
(b)中间/尾删除,不改变head
《数据结构(Java版)(第3版)》
5.带头结点的单链表
p 头结点 head ∧ head a0 … an-1 ∧
q (a)空单链表 p head a0 a1
len element lista 5 A B C len element listb 5 null D E listb len element 5 null null (b)执行lista.remove(4);删除元素导致错误 D lista len element 4 A B C
(a)浅拷贝,lista.element与listb.element引用同一个数组
a0 a1 … ai ② q x ai+1 ①
(b)头插入,在原第1个结点之前插入q结点,改变head p … an-1 ∧
head
(c)中间插入,在p结点之后插入q结点,不改变head p q head a0 a1 … an-1 x ∧
(d)尾插入,在原最后一个结点p之后插入q结点,不改变head
public boolean append(T x) { return insert(this.length(), x); //需遍历单链表两次,效率较低 } return insert(Integer.MAX_VALUE, x); //遍历一次
《数据结构(Java版)(第3版)》
作用于顺序表的时间复杂度是O(n), 2 但作用于单链表的时间复杂度则是 O(n )
第2章
• •

数据结构第二章课后答案

数据结构第二章课后答案

数据结构第二章课后答案数据结构第二章课后答案1. 线性表1.1 数组实现线性表Q1. 请说明线性表的定义,并结合数组实现线性表的特点进行解释。

线性表是由n(n≥0)个数据元素构成的有序序列,其中n表示线性表的长度。

数组实现线性表的特点是使用一组具有相同数据类型的连续存储空间存储线性表中的元素,通过下标访问和操作元素。

A1. 线性表的定义指出,线性表是由若干个数据元素组成的有序序列。

具体地,在数组实现线性表中,我们将元素存储在一组连续的内存空间中,通过下标访问和操作元素。

由于数组的存储空间具有连续性,这样的实现方式可以在O(1)的时间复杂度下进行元素的访问和修改操作。

1.2 链表实现线性表Q2. 请说明链表实现线性表的特点,并与数组实现进行比较。

链表实现线性表的特点是通过指针将线性表中的元素按照节点的形式连接起来,每个节点包含了存储的元素和指向下一个节点的指针。

与数组实现相比,链表的插入和删除操作更为高效,但是访问某个位置的元素需要从头开始遍历,时间复杂度较大。

A2. 链表实现线性表的特点是通过使用节点和指针将线性表中的元素连接起来。

每个节点中包含了一个存储的元素和指向下一个节点的指针。

链表的插入和删除操作的时间复杂度为O(1),因为只需要改变指针的指向即可。

但是,访问某个位置的元素需要从头开始遍历链表,所以时间复杂度为O(n)。

2. 栈和队列2.1 栈的定义和基本操作Q3. 请给出栈的定义和基本操作。

栈是一种特殊的线性表,它只能在表的一端进行插入和删除操作,该端称为栈顶。

栈的基本操作包括入栈(push)和出栈(pop),分别用于将元素压入栈和将栈顶元素弹出。

A3. 栈是一种特殊的线性表,它只能在表的一端进行插入和删除操作。

这个特定的一端称为栈顶,而另一端称为栈底。

栈的基本操作包括入栈(push)和出栈(pop)。

入栈操作将一个元素压入栈顶,出栈操作将栈顶元素弹出。

2.2 队列的定义和基本操作Q4. 请给出队列的定义和基本操作。

数据结构练习题第二章答案

数据结构练习题第二章答案

数据结构练习题第二章答案一、选择题1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一的关系B. 元素之间存在一对多的关系C. 元素之间存在多对多的关系D. 元素之间存在一对一或一对多的关系答案:D2. 栈(Stack)是一种特殊的线性表,其特点是:A. 允许在表的一端进行插入和删除操作B. 允许在表的两端进行插入和删除操作C. 只能在表的两端进行插入和删除操作D. 只能在表的中间进行插入和删除操作答案:A3. 队列(Queue)与栈的主要区别在于:A. 队列是先进先出(FIFO),栈是先进后出(LIFO)B. 栈是先进先出(FIFO),队列是先进后出(LIFO)C. 队列和栈都是先进先出(FIFO)D. 队列和栈都是先进后出(LIFO)答案:A二、简答题1. 什么是链表?链表有哪些基本操作?答案:链表是一种由一系列节点组成的线性数据结构,每个节点包含数据部分和指向下一个节点的指针。

链表的基本操作包括插入节点、删除节点、查找节点和遍历链表。

2. 线性表的顺序存储结构和链式存储结构有何区别?答案:顺序存储结构使用连续的存储单元来存储数据元素,如数组。

链式存储结构不要求数据元素在存储空间中连续,每个元素包含指向下一个元素的指针,如链表。

三、编程题1. 编写一个函数,实现在单链表中插入一个新节点到指定位置。

```c#include <stdio.h>#include <stdlib.h>typedef struct Node {int data;struct Node *next;} Node;Node* createNode(int data) {Node *newNode = (Node*)malloc(sizeof(Node));newNode->data = data;newNode->next = NULL;return newNode;}void insertNode(Node head, int position, int data) {Node *newNode = createNode(data);if (position == 0) {newNode->next = *head;*head = newNode;} else {Node *current = *head;for (int i = 0; current != NULL && i < position - 1; i++) {current = current->next;}if (current == NULL) return; // Position is greater than the number of nodesnewNode->next = current->next;current->next = newNode;}}int main() {Node *head = NULL;insertNode(&head, 0, 10);insertNode(&head, 1, 20);// Print the list to verify the insertionNode *current = head;while (current != NULL) {printf("%d ", current->data);current = current->next;}return 0;}```四、分析题1. 分析栈的后进先出(LIFO)特性在实际应用中的优势和局限性。

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)数据结构课后习题答案(第2版)第一章:基本概念1. 什么是数据结构?数据结构是指数据元素之间的关系,以及相应的操作。

它研究如何组织、存储和管理数据,以及如何进行高效的数据操作。

2. 数据结构的分类有哪些?数据结构可以分为线性结构和非线性结构。

线性结构包括数组、链表、栈和队列;非线性结构包括树和图。

3. 什么是算法?算法是解决特定问题的一系列有序步骤。

它描述了如何输入数据、处理数据,并产生期望的输出结果。

4. 算法的特性有哪些?算法具有确定性、有限性、输入、输出和可行性这五个特性。

5. 数据结构和算法之间的关系是什么?数据结构是算法的基础,算法操作的对象是数据结构。

第二章:线性表1. 顺序表的两种实现方式是什么?顺序表可以通过静态分配或动态分配的方式实现。

静态分配使用数组,动态分配使用指针和动态内存分配。

2. 单链表的特点是什么?单链表由节点组成,每个节点包含数据和一个指向下一个节点的指针。

它的插入和删除操作效率高,但是查找效率较低。

3. 循环链表和双向链表分别是什么?循环链表是一种特殊的单链表,在尾节点的指针指向头节点。

双向链表每个节点都有一个指向前一个节点和后一个节点的指针。

4. 链表和顺序表的区别是什么?链表的插入和删除操作效率更高,但是查找操作效率较低;顺序表的插入和删除操作效率较低,但是查找操作效率较高。

第三章:栈和队列1. 栈是什么?栈是一种特殊的线性表,只能在表的一端进行插入和删除操作。

后进先出(LIFO)是栈的特点。

2. 队列是什么?队列是一种特殊的线性表,只能在表的一端进行插入操作,在另一端进行删除操作。

先进先出(FIFO)是队列的特点。

3. 栈和队列的应用有哪些?栈和队列在计算机科学中有广泛的应用,例如浏览器的前进后退功能使用了栈,操作系统的进程调度使用了队列。

4. 栈和队列有哪些实现方式?栈和队列可以使用数组或链表来实现,还有更为复杂的如双端队列和优先队列。

数据结构Java版第二章习题

数据结构Java版第二章习题

数据结构Java版第二章习题在学习数据结构的过程中,第二章的习题往往是巩固和深化对相关概念理解的重要环节。

这一章可能涵盖了诸如数组、链表、栈、队列等基本数据结构的知识。

先来说说数组,这是一种最简单也最常见的数据结构。

在 Java 中,数组是一组相同类型元素的有序集合。

它的优点很明显,比如可以通过索引快速访问元素,查找操作的时间复杂度为 O(1)。

但缺点也不能忽视,比如数组的长度固定,插入和删除元素可能需要移动大量元素,导致时间复杂度较高。

来看一道关于数组的习题:给定一个整数数组,找出其中出现次数最多的元素。

这就需要我们遍历数组,使用一个辅助的数据结构(比如哈希表)来记录每个元素出现的次数,最后找出出现次数最多的那个元素。

再说说链表,链表是由一系列节点组成的,每个节点包含数据和指向下一个节点的引用。

相比于数组,链表在插入和删除操作上具有优势,时间复杂度为 O(1)。

但查找操作的时间复杂度为 O(n)。

有这样一道链表的习题:实现一个链表的反转。

这就需要我们改变链表节点的指针指向,依次将每个节点的 next 指针指向前一个节点,从而实现链表的反转。

接下来是栈,栈是一种特殊的线性表,遵循后进先出(LIFO)的原则。

在 Java 中,可以使用数组或者链表来实现栈。

比如有这样一道关于栈的习题:判断一个表达式中的括号是否匹配。

我们可以将左括号入栈,遇到右括号时弹出栈顶的左括号进行匹配,如果最后栈为空,则括号匹配成功。

然后是队列,队列遵循先进先出(FIFO)的原则。

在实际应用中,比如排队系统、任务调度等都可以用到队列。

例如,有这样一道队列的习题:实现一个循环队列。

这就需要我们处理好队列的头尾指针,以及队列满和空的判断条件。

在解决这些习题的过程中,我们不仅要熟练掌握各种数据结构的特点和操作方法,还要具备良好的逻辑思维和代码实现能力。

同时,通过不断地练习和思考,我们能够更加深入地理解数据结构的本质,为今后解决更复杂的问题打下坚实的基础。

数据结构课后习题答案第二章 线性表

数据结构课后习题答案第二章   线性表

第二章线性表2.1描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。

并说明头指针和头结点的作用。

答:头指针是一个指针变量,里面存放的是链表中首结点的地址,并以此来标识一个链表。

如链表H,链表L等,表示链表中第一个结点的地址存放在H、L中。

头结点是附加在第一个元素结点之前的一个结点,头指针指向头结点。

当该链表表示一个非空的线性表时,头结点的指针域指向第一个元素结点,为空表时,该指针域为空。

开始结点指第一个元素结点。

头指针的作用是用来惟一标识一个单链表。

头结点的作用有两个:一是使得对空表和非空表的处理得以统一。

二是使得在链表的第一个位置上的操作和在其他位置上的操作一致,无需特殊处理。

2.2填空题1、在顺序表中插入或删除一个元素,需要平均移动(表中一半)元素,具体移动的元素个数与(表长和该元素在表中的位置)有关。

2、顺序表中逻辑上相邻的元素的物理位置(必定)相邻。

单链表中逻辑上相邻的元素的物理位置(不一定)相邻。

3、在单链表中,除了首元结点外,任一结点的存储位置由(其直接前驱结点的链域的值)指示。

4、在单链表中设置头结点的作用是(插入和删除元素不必进行特殊处理)。

2.3何时选用顺序表、何时选用链表作为线性表的存储结构为宜?答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑:1.基于空间的考虑。

当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。

2.基于时间的考虑。

若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。

并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。

2.10 Status DeleteK(SqList &a,int i,int k)//删除线性表a中第i个元素起的k个元素{if(i<1||k<0||i+k-1>a.length) return INFEASIBLE;for(count=1;i+count-1<=a.length-k;count++) //注意循环结束的条件a.elem[i+count-1]=a.elem[i+count+k-1];a.length-=k;return OK;}//DeleteK2.11设顺序表中的数据元素递增有序,试写一算法,将X插入到顺序表的适当位置上,以保持该表的有序性。

JAVA第二章 课后习题答案

JAVA第二章 课后习题答案

9.
编写程序,将十进制整数转换为二进制。 public class Tentotwo { public static void main(String[] args) { int a = 123; int remainder; int sum = 0; int k = 1; while(a != 0){ remainder = a %2; a /= 2; sum = sum + remainder * k; k *= 10; } //对目标数字求余 //对目标数字求商 //求和 //改变位数 //定义一个变量并赋给他一个十进制的值 //定义一个变量用于存储余数 //定义一个变量用于存放和 //定义一个变量控制位数
4
Hale Waihona Puke } }7.编写程序,求 100~999 之间所有的三位水仙花数。 (水仙花数是指一个 n 位数 ( n≥3 ),它的 每个位上的数字的 n 次幂之和等于它本身,例如:1^3 + 5^3+ 3^3 = 153) public class Shuixian { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) { b3=m/100; b2=m%100/10; b1=m%10; if ((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m) System.out.println(m+"是一个水仙花数"); } } }
6
System.out.println("10 进制的 123 转换为 2 进制结果为:" + sum ); } }

java第二版第二章答案

java第二版第二章答案

Java iSW程序设il•(郑莉)第二章习题答案1.什么是对象、类,它们之间的联系答:1)对象是包含现实世界物体特征的捕象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象二数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体:在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例2.什么是而向对象的程序设计方法它有那些基本特征答:而向对象程序设计从所处理的数据入手,以数抵为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳世性。

它的特征:抽象,封装,继承,多态。

3.在下而的应用中,找出可能用到的对象,对毎一个对象,列出可能的状态和行为。

1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。

行为:订票,领票,买票,退票。

2)银行交易:状态:客户姓名,账号,身份证号。

行为:存款,取款,『款。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前而不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前而需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以宜接访问实例变量,调用实例方法,实例方法可以直接访问类变量, 调用类方法:类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法:6.类的访问控制符有哪几种具体含义及其区别。

答:类的访问控制符只有public (公共类)及无修饰符(默认类)两种。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(依据自己的状况选作部分习题,不要剽窃)第二章习题次序储存线性表一判断题1.线性表的逻辑次序与储存次序老是一致的。

×2.次序储存的线性表能够按次号随机存取。

√3.次序表的插入和删除操作不需要付出很大的时间代价,由于每次操作均匀只有近一半的元素需要挪动。

×4.线性表中的元素能够是各种各种的,但同一线性表中的数据元素拥有同样的特征,所以是属于同一数据对象。

√5.在线性表的次序储存构造中,逻辑上相邻的两个元素在物理地点上其实不必定紧邻。

×6.在线性表的次序储存构造中,插入和删除时,挪动元素的个数与该元素的地点相关。

√二单项选择题 ( 请从以下 A,B,C,D 选项中选择一项 )1.线性表是 ( A )。

(A)一个有限序列,能够为空;(B)一个有限序列,不可认为空;(C)一个无穷序列,能够为空;(D)一个无序序列,不可认为空。

2.对次序储存的线性表,设其长度为n,在任何地点上插入或删除操作都是等概率的。

插入一个元素时均匀要挪动表中的( A )个元素。

(A) n/2(B) n+1/2(C) n -1/2(D) n三填空题1.在次序表中做插入操作时第一检查___表能否满了 ______________。

四算法设计题1.设线性表寄存在向量A[arrsize]的前elenum个重量中,且递加有序。

试写一算法,将x插入到线性表的适合地点上,以保持线性表的有序性。

而且剖析算法的时间复杂度。

2.已知一次序表A,其元素值非递减有序摆列,编写一个函数删除次序表中剩余的值同样的元素。

3.编写一个函数,从一给定的次序表A 中删除值在 x~y(x<=y) 之间的所有元素,要求以较高的效率来实现。

提示:能够先将序表中所有在 x~y 之的元素置成一个特别的,其实不立刻除它,而后从最后向前挨次描,拥有特别的元素后,移后来面的元素将其除去。

4.性表中有 n 个元素,每个元素是一个字符,存于向量R[n] 中,写一算法,使 R 中的字符按字母字符、数字字符和其余字符的序摆列。

要求利用本来的存空,元素移次数最小。

(研 54)5.性表用序存,一个算法,用尽可能少的助存空将序表中前m 个元素和后 n 个元素行整体互。

马上性表(a1, a 2, ⋯ , a m, b1, b2,⋯, b n)改:(b , b , ⋯ , bn , a1, a2, ⋯ , a)。

12m五上机实习题目瑟夫瑟夫:号1, 2, 3,⋯⋯, n 的 n(n>0) 个人按方向坐一圈,每一个人拥有一个正整数密。

开始任一个正整数做数上限m,从第一个人开始方向自 1 起序数,到 m是停止数,m的人出列,将他的密作新的m,从他的下一个人开始从头从 1 数。

这样下去,直到所有人所有出列止。

令n 最大取30。

要求一个程序模此程,求出出列号序列。

package 算法 ;importimportimportpublic class YueSeFu {public static void main(String[] args) {Scanner scan =new Scanner;"入人数: ");int totalNum = ();"入数的大小: ");int cycleNum = ();yuesefu (totalNum, cycleNum);();}public static void yuesefu( int totalNum,int countNum) {链表中最常用的操作是在最后一个元素以后插入一个元素和删除最后一个元素,则采纳( D)储存方式最节俭运算时间。

(A) 单链表(B) 双链表(C) 单循环链表(D) 带头结点的双循环链表5.循环链表的主要长处是( D )。

(A)不在需要头指针了(B)已知某个结点的地点后,能够简单找到他的直接前趋(C)在进行插入、删除运算时,能更好的保证链表不停开(D)从表中的随意结点出发都能扫描到整个链表6.下边对于线性表的表达错误的选项是( B ) 。

(A)线性表采纳次序储存,一定占用一片地点连续的单元;(B)线性表采纳次序储存,便于进行插入和删除操作;(C)线性表采纳链式储存,不用占用一片地点连续的单元;(D)线性表采纳链式储存,不便于进行插入和删除操作;7.单链表中,增添一个头结点的目的是为了( C )。

(A)使单链表起码有一个结点(B)表记表结点中首结点的地点( C)方便运算的实现(D)说明单链表是线性表的链式储存8.若某线性表中最常用的操作是在最后一个元素以后插入一个元素和删除第一个元素,则采纳( D )储存方式最节俭运算时间。

(A)单链表(B)仅有头指针的单循环链表(C)双链表(D)仅有尾指针的单循环链表9.若某线性表中最常用的操作是取第i 个元素和找第i 个元素的前趋元素,则采纳()储存方式最节俭运算时间( C )。

(A)单链表(B)次序表(C)双链表(D)单循环链表三填空题1.带头结点的单链表H为空的条件是__ H->next == NULL _____。

1.非空单循环链表L 中 *p 是尾结点的条件是___ p->next == L ________。

3.在一个单链表中p 所指结点以后插入一个由指针 f 所指结点,应履行 s->next=__p->next ___; 和 p->next=___ _s_________的操作。

4.在一个单链表中p 所指结点以前插入一个由指针 f 所指结点,可履行以下操作:s->next=_ p->next _______;p->next=s;t=p->data;p->data=___ s->data ________;s->data=____ t _______;四算法设计题1.已知带头结点的单链表L 中的结点是按整数值递加摆列的,试写一算法,将值为x 的结点插入到表L 中,使得L 仍旧有序。

而且剖析算法的时间复杂度。

package xiti;class Lii{int data;Lii next;public Lii(){data=0;}public Lii( int id){data=id;}public void display(){" ");}}class Lii_2{public Lii first;public Lii_2(){f irst=new Lii();}public boolean isEmpty(){r eturn == null);}public boolean insert_2( int id){Lii newnode =new Lii(id);Lii p=first;while != null &&p=;=;=newnode;r eturn true ;}public void listdisplay(){Lii p=first;"显示链表: ");while (p!= null ){();p=;}"**************");}}public class L{public static void main(String[] args){Lii_2 s1=new Lii_2();for ( int i=1;i<=9;i=i+2){(i);}();(2);();}}时间复杂度:O(elenum)2. 假定有两个已排序的单链表 A 和 B,编写一个函数将他们归并成一个链表C而不改变其排序性。

package xiti1;class link{intdata;假定长度大于 1 的循环单链表中,既无头结点也无头指针,p 为指向该链表中某一结点的指 , 写一个函数 除 点的前 点。

4. 已知两个 表 A 和 B 分 表示两个会合,其元素 增摆列, 写一个函数求出 A 和 B 的交集 C ,要求 C 同 以元素 增的 表形式存 。

package xiti; class link {publicintdata;有一个双向 表,每个 点中除有 prior 、 data 和 next 域外, 有一个 度freq域,在 表被起用以前, 域其 初始化 零。

每当在 表 行一次Locata(L,x) 运算后,令 x 的 点中的 freq 域增 1,并 整表中 点的序次,使其按 度的 减序列排列,以便使 繁 的 点 是凑近表 。

写一个算法 足上述要求的Locata(L,x) 算法。

五 上机实习题目1. 一元多 式的相加提示: ( 1)一元多 式的表示 : 于随意一元多 式:P (x)= P 1 2in+P X+P X+ ⋯+Pi X+ ⋯+Pn Xn 01 2能够抽象 一个由“系数 - 指数” 组成的 性表,且 性表中各元素的指数 是 增的: P=( ( P0,0), ( P1,1), ( P2,2),⋯ , ( Pn,n) )(2 )用一个 表表示上述 性表, 点 构 :typedef sturct node{ float coef;/* 系数域 */coef exp nextint exp;/* 指数域 */struct node* next; /* 指针域 */} Ploy Node;package 一元多项式的加法;import 一元多项式的加法.;public class LinkedAdd {public Node add(Elem e1,Elem e2){Node pre=();Node qre=();Node p=;Node q=;Node result=p;while(p!=null && q!=null){if<{pre=p;p=;}else if>{Node temp=;=q;=p;q=temp;}else{=+;if==0){=;p=;}else{pre=p;p=;}=;q=;}}if(q!=null){=q;}return result;}public static void main(String[] args) {Elem node1=new Elem();(7,0);(12,3);(2,8);(5,12);Elem node2=new Elem();(4,1);(6,3);(2,8);(5,20);(7,28);LinkedAdd l=new LinkedAdd();Node node=(node1, node2);while(node!=null){"coef:"++"exp:"+;node=;}}}package 一元多项式的加法;class Elem{public class Node{public int coef;//系数public int exp;//指数public Node next=null;//下一个节点public Node(){coef=0;exp=0;}public Node(int coef,int exp){=coef;=exp;}}public Node first=new Node();public void insert(int coef,int exp){//增添节点Node node=new Node(coef,exp);if(first==null){=node;}else{Node temp=first;while!=null){temp=;}=node;}}public Node getNode(){return first;}}。

相关文档
最新文档