一元多项式求和(c++源码)
LinkList.h
#ifndef LINKLIST_H_
#define LINKLIST_H_
#include<stdio.h>
template<class T>
struct Node
{
T data;
struct Node<T>* next;
};
template<class T>
class LinkList
{
private:
Node<T>* front;
public:
LinkList();
LinkList(T data[],int n);
~LinkList();
Node<T>* GetFirst(){return front;}
};
template<class T>
LinkList<T>::LinkList()
{
front=new Node<T>;
front->next=NULL;
}
template<class T>
LinkList<T>::LinkList(T data[],int n)
{
front=new Node<T>;
front->next=NULL;
for(int i=n-1;i>=0;i--)
{
Node<T>* s=new Node<T>;
s->data=data[i];
s->next=front->next;
front->next=s;
}
}
template<class T>
LinkList<T>::~LinkList()
{
Node<T>* p=front;
while(p)
{
front=p;
p=p->next;
delete front;
}
}
#endif // LINKLIST_H_
Element.h
#ifndef ELEMENT_H_
#define ELEMENT_H_
#include<iostream>
#include"LinkList.h"
#include<stdio.h>
struct element
{
double xs;
int zs;
element(double x=0,int z=0):xs(x),zs(z){}
};
class PloyList:public LinkList<element>
{
public:
PloyList(element data[],int n):LinkList(data,n){}
void Add(PloyList& B);
void Print();
};
void PloyList::Add(PloyList& B)
{
Node<element>* pa=GetFirst();
Node<element>* pb=B.GetFirst();
Node<element>* p=pa->next;
Node<element>* q=pb->next;
while(p&&q)
{
if(q->data.zs>p->data.zs)
{
pa=p;
p=p->next;
}
else if(q->data.zs<p->data.zs)
{
pa->next=q;
pa=q;
q=q->next;
pa->next=p;
}
else
{
p->data.xs+=q->data.xs;
if(p->data.xs==0)
{
pa->next=p->next;
delete p;
p=pa->next;
}
else
{
pa=p;
p=p->next;
}
Node<element>* temp=q;
q=q->next;
delete temp;
}
}
if(q)pa->next=q;
B.GetFirst()->next=NULL;
}
void PloyList::Print()
{
Node<element>* p=GetFirst()->next;
while(p)
{
std::cout<<"("<<p->data.xs<<", "<<p->data.zs<<") ";
p=p->next;
}
std::cout<<std::endl;
}
#endif // ELEMENT_H_
Use.cpp
#include<iostream>
#include"Element.h"
int main()
{
element ea[]={element(1,0),element(2.3,2),element(3,4)};
element eb[]={element(1,1),element(-2.3,2),element(3,4),element(5,10)};
PloyList a(ea,3),b(eb,4);
a.Add(b);
a.Print();
return 0;
}
一元多项式求和(c++源码)的更多相关文章
- Django路由层之路由分发 名称空间 虚拟环境 视图层之三板斧 JsonRsponse对象 request对象获取文件 FBV与CBV CBV源码剖析 模板层
目录 路由层之路由分发 路由层之名称空间 方式1:名称空间 方式2:别名不冲突即可 虚拟环境 pycharm创建虚拟环境 命令行形式创建虚拟环境 视图层之三板斧 HttpRsponse render ...
- jQuery1.11源码分析(1)-----Sizzle源码概览[原创]
最近在啃jQuery1.11源码,上来就遇到Sizzle这个jQuery的大核心,虽然已经清楚了Sizzle的用途,先绕过去也没事,但明知山有虎偏向虎山行才是我们要做的. 本文面向的阅读对象:正在学习 ...
- Tomcat源码解读系列(一)——server.xml文件的配置
Tomcat是J2EE开发人员最常用到的开发工具,在Java Web应用的调试开发和实际部署中,我们都可以看到Tomcat的影子.大多数时候,我们可以将Tomcat当做一个黑盒来看待,只需要将编写的J ...
- Word2Vec源码解析
Reference:http://blog.csdn.net/itplus/article/details/37969519 (Word2Vec解析(部分有错)) 源码:http://pan.bai ...
- jquery 源码解析
静态与实力方法共享设计 遍历方法 $(".a").each() //作为实例方法存在 $.each() //作为静态方法存在 Jquery源码 jQuery.prototype = ...
- springMVC源码分析之拦截器
一个东西用久了,自然就会从仅使用的层面上升到探究其原理的层面,在javaweb中springmvc更是如此,越是优秀的框架,其底层实现代码更是复杂,而在我看来,一个优秀程序猿就相当于一名武林高手,不断 ...
- SURF算法与源码分析、下
上一篇文章 SURF算法与源码分析.上 中主要分析的是SURF特征点定位的算法原理与相关OpenCV中的源码分析,这篇文章接着上篇文章对已经定位到的SURF特征点进行特征描述.这一步至关重要,这是SU ...
- JQuery源码分析(七)
了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能. 关于jQuery对象的包装 var $aaron = $("aar ...
- spring源码分析之spring-web web模块分析
0 概述 spring-web的web模块是更高一层的抽象,它封装了快速开发spring-web需要的基础组件.其结构如下: 1. 初始化Initializer部分 1.1 Servlet3.0 的 ...
- AFNetworking源码分析
来源:zongmumask 链接:http://www.jianshu.com/p/8eac5b1975de 简述 在iOS开发中,与直接使用苹果框架中提供的NSURLConnection或NSURL ...
随机推荐
- Codeforces Round #885 (Div. 2) A-D
比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { i ...
- kafka-eagle-2.0.5安装指南
kafka eagle 安装文档 环境介绍 :kafka 三台 版本:2.2.1+cdh6.3.2 管理:ZK kafka-eagle-bin-2.0.5.tar.gz安装包准备 官网 :http:/ ...
- C语言链表实现(郝斌数链表学习笔记)
#include "stdafx.h" #include<stdio.h> #include<stdlib.h> typedef struct Node { ...
- Linux shell:根据盘符定位硬盘在服务器上的位置
disk-light.sh #!/bin/bash t_dev=$1 [ -b "$t_dev" ] || { echo "-b failed: $t_dev" ...
- 【JMeter】JMeter添加插件
JMeter添加插件 目录 JMeter添加插件 一.前言 二.插件管理器 三.推荐插件 1.Custom Thread Groups (1)Ultmate Thread Group (2)Stepp ...
- windows传输文件到linux
PFSTP 打开该软件,在安装putty自带的 连接服务器 open 192.168.142.131 按提示输入账户密码 传送文件 put C:\Users\13662\nifi-1.13.2-bin ...
- 搜索(DFS/BFS)
广度优先搜索(BFS) 基本要点: - 利用队列(先进先出) - 一层一层搜索 - 适合于连通块的搜索 - 任何的BFS都可以转化为对树的广搜 基本流程: - 选择搜索的起点,起点入队,起点标记为已访 ...
- 双URL编码绕过WAF
一般编码一次是%5c. 但攻击者怕这个会被认出来,所以用二次编码,把%本身编码成%25.再和后边拼成%255c. 如果URL解码器有缺陷,只不断重复"从前边开始解析"这个步骤,就会 ...
- OpenUSD联盟:塑造元宇宙的3D未来
一.引言 近日,美国3D内容行业的五家主要公司苹果.英伟达.皮克斯.Adobe和Autodesk联合成立了OpenUSD联盟(AOUSD).这一联盟的成立标志着元宇宙领域的一次重要合作,旨在制定元宇宙 ...
- quarkus依赖注入之七:生命周期回调
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇的知识点是bean的生命周期回调:在be ...