欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验一 线性表的操作Word格式文档下载.docx

    • 资源ID:7909072       资源大小:19.81KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验一 线性表的操作Word格式文档下载.docx

    1、 分别输入两个多项式的系数和指数,分别以0结束,例如3*x2,请输入3 24 6 2 5 8 7 1 0第一个多项式输入完毕,请输入下一个7 0 3 4 6 8 25 1 00多项式输入完毕请输入你想要进行的运算,1代表+,2代表-26*x8 + 8*x7 + 4*x6 + 2*x5 + 3*x4 + 25*x + -6Process completed.B . 错误的输入及其输出结果:4 5 1 2 3 6 5 5 08 4 1 0 3 4 6 9 7 02概要设计抽象数据类型的定义:public Multinomial1()主程序的流程: 定义类-定义主函数- 定义两个线性表用来存储多项式

    2、- 提示用户输入多项式的系数与指数- 将用户输入的多项式存入线性表- 将两个线性表的元素比较并存入同一个线性表以实现多项式相加减- -输出多项式相加减后的结果各程序模块之间的层次(调用)关系:在Alist、Blist、Clist对堆申请空间时调用LinkList()函数,将多项式存入Alist、Blist中调用Add()函数,讲Alist、Blist两个线性表比较、排序并存入Clist中调用Sort()函数。3详细设计伪码算法:构建链表:int newindex, newfactor; Scanner scanner = new Scanner(System.in); LinkedList A

    3、list = new LinkedList(); LinkedList Blist = new LinkedList(); LinkedList Clist = new LinkedList(); Node pNew;第一个多项式:System.out.println(请输入第一个多项式的系数和指数,例如2*x2,请输入2 2,以0 0表示结束); newfactor = scanner.nextInt(); newindex = scanner.nextInt(); while (newfactor != 0) pNew = new Node(); pNew.factor = newfact

    4、or; pNew.index = newindex; Alist.Add(pNew); newfactor = scanner.nextInt(); newindex = scanner.nextInt(); 第二个多项式:第一个多项式输入完毕,请输入第二个多项式 Blist.Add(pNew); System.out.println(多项式输入完毕两多项式相加: int Ai = 0, Bi = 0; Node pc; Node pa = Alist.head.next, pb = Blist.head.next; while (Ai Alist.size & Bi pb.index) pc

    5、 = new Node(); pc.index = pa.index; pc.factor = pa.factor; Clist.Add(pc); pc = pc.next; pa = pa.next; Ai+; Clist.size+; else if (pa.index pc.index = pb.index; pc.factor = pb.factor; pb = pb.next; Bi+; else if (pa.index = pb.index) if (pa.factor + pb.factor ! pc = new Node(); pc.index = pa.index; pc.

    6、factor = pa.factor + pb.factor; Clist.Add(pc); pc = pc.next; pa = pa.next; pb = pb.next; Clist.size+; Ai+; Bi+; else Ai+;多项式中未加的部分运算:while (Ai Alist.size) pc = new Node(); pc.index = pa.index; pc.factor = pa.factor; Clist.Add(pc); pa = pa.next; pc = pc.next; Ai+; while (Bi pc.index = pb.index; pc.fa

    7、ctor = pb.factor; pb = pb.next; Bi+; Node pc1 = Clist.head.next; for (int Ci = 0; pc1.next != null; Ci+) System.out.print(pc1.factor+*x+pc1.index+ + pc1 = pc1.next; System.out.print(pc1.factor+pc1.index); 函数和过程的调用关系图:4调试分析调试过程中遇到的问题是如何解决的:参考课本、和同学交流讨论、上网查询对设计与实现的回顾讨论和分析:算法的时空分析和改进设想:经验和体会:平时必须多写多看程序

    8、,多加练习,并在写代码之前构思好算法和流程。5用户使用说明操作步骤:A. Build fileB. Run fileC. 根据提示输入多项式的系数与指数(以空格分开各项)D. 然后EnterE. 运行结果就会实现两个多项式的相加减6测试结果请输入第一个多项式的系数和指数,例如2*x2,请输入2 2,以0 0表示结束1 5 4 6 2 3 0 45 5 2 7 9 5 0第一个多项式输入完毕,请输入第二个多项式8 3 4 9 6 1 0 22 1 4 5 66 7 1 5 3 001*x5 + 4*x6 + 2*x3 + 5*x2 + 7*x9 + 5*x0 + 8*x3 + 4*x9 + 6*

    9、x141 85 5 7 9 5 5 2 4 45 4 5 1 2 4 512 0463 5 1 2 2 5 9 3 26 26 5 21 3 255 62 2 2 3 5 600 0 0 0 多项式输入完毕41*x85 + 5*x7 + 472*x5 + 6*x2 + 4*x45 + 6*x5 + 9*x3 + 26*x26 + 5*x21 + 3*x255 + 63*x2 + 4*x512 + 2*x3 + 5*x6 请输入第一个多项式的系数和指数,例如2*x2,请输入2 2,以0 0表示结束15 4 6 4169 4 91 1 22 3 50 3 20 2 532 + 00 0Except

    10、ion in thread main java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextInt(Scanner.java:2091)2050) at Multinomial1.main(Multinomial1.java:34)7附录带注释的源程序代码:链表:public class Node /定义Node类 public int index;

    11、 /定义参数 public int factor; public Node last; public Node next;public class LinkedList /定义LinkedList类 public LinkedList() head = new Node(); head.last = null; tail = head; tail.next = null; public Node head; public Node tail; public int size = 0; public void Add(Node pNew) /实现线性表的插入 tail.next = pNew;

    12、tail = pNew; size+; public void Sort() /排序 Node p = head.next; for (int i = 0; i size; i+) if (p.index p.next.index) p.next.next.last = p; p.last = p.next; p.next = p.next.next; p.last.next = p; head.next = p.last; else p = p.next; for (int j = 1; j size - i; j+) if (p.index p.next.next.last = p; p.

    13、last = p.next; p.next = p.next.next; p.last.next = p; p = p.next;/* * (#)Multinomial1.java * * author * version 1.00 2013/3/19 */import java.util.Scanner;public class Multinomial1 /定义Multinomaill类 public Multinomial1() public static void main(String args) /主函数 int newindex, newfactor; /调用LinkedList(

    14、)函数 /照此输入多项式的系数与指数 int Ai = 0, Bi = 0; /实现两个多项式的相加减数组: * (#)Multinomial.javapublic class Multinomial public static void main(String args) int Asize = 0, Bsize = 0, Csize = 0; int temp; int operator; int Afactor = new int100; int Aindex = new int100; int Bfactor = new int100; int Bindex = new int100;

    15、 int Cfactor = new int100; int Cindex = new int100;分别输入两个多项式的系数和指数,分别以0结束,例如3*x2,请输入3 2 AfactorAsize = scanner.nextInt(); AindexAsize = scanner.nextInt(); Asize+; while (AfactorAsize = 0) AfactorAsize = scanner.nextInt(); if (AfactorAsize = 0) System.out.println(第一个多项式输入完毕,请输入下一个 break; BfactorBsize

    16、 = scanner.nextInt(); BindexBsize = scanner.nextInt(); Bsize+; while (BfactorBsize = 0) BfactorBsize = scanner.nextInt(); if (BfactorBsize = 0) BindexBsize = scanner.nextInt();请输入你想要进行的运算,1代表+,2代表- operator = scanner.nextInt(); for (int Ai = 0; Ai Asize; Ai+) for (int Aj = 0; Aj Asize-Ai; Aj+) if (AindexAj AindexAj+1) temp = AindexAj+1; AindexAj+1 = AindexAj; AindexAj = temp; temp = AfactorAj+1; AfactorAj+1 = AfactorAj; AfactorAj = temp;


    注意事项

    本文(实验一 线性表的操作Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开